日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程基础-个人项目-数独的生成与求解

發(fā)布時(shí)間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程基础-个人项目-数独的生成与求解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Github項(xiàng)目地址:https://github.com/CarloFz/OOOOOLD

一、PSP表格

PSP2.1Personal Software Process Stages預(yù)估耗時(shí)(分鐘)
Planning計(jì)劃60
Estimate估計(jì)這個(gè)任務(wù)需要多少時(shí)間10
Development開發(fā)600
Analysis需求分析(包括學(xué)習(xí)新技術(shù))60
Design Spec生成設(shè)計(jì)文檔60
Design Review設(shè)計(jì)復(fù)審(和同事審核設(shè)計(jì)文檔)20
Coding Standard代碼規(guī)范(為目前的開發(fā)制定合適的規(guī)范)20
Design具體設(shè)計(jì)60
Coding具體編碼600
Code Review代碼復(fù)審20
Test測(cè)試(自我測(cè)試,修改代碼,提交修改)120
Reporting報(bào)告60
Test Report測(cè)試報(bào)告30
Size Measurement計(jì)算工作量20
Postmortem & Process Improvement Plan事后總結(jié),并提出過程改進(jìn)計(jì)劃20
合計(jì)1760

二、解題思路

  • 終局生成
    ???????題目要求最多生成100w個(gè)不重復(fù)數(shù)獨(dú)終局,其中左上角的數(shù)字不能改變
    經(jīng)過查閱資料,我決定使用一個(gè)已經(jīng)寫好的數(shù)獨(dú)模板,然后對(duì)這個(gè)模板的第一行進(jìn)行全排列(除第一個(gè)數(shù)字)。但是顯然這樣做還不能達(dá)到100w的復(fù)雜度,于是我們可以通過對(duì)于模板進(jìn)行行列的交換,再配合上每個(gè)交換后的模板的第一行的全排列,就能夠達(dá)到100w的復(fù)雜度。
  • 數(shù)獨(dú)求解
    ???????這部分計(jì)劃使用回溯法求數(shù)獨(dú)的解,并且通過對(duì)題目進(jìn)行預(yù)處理減少回溯法的時(shí)間復(fù)雜度
  • 三、設(shè)計(jì)實(shí)現(xiàn)過程

    ???????這個(gè)項(xiàng)目的代碼文件主要分成四部分
    第一部分為header.h:主要負(fù)責(zé)相關(guān)庫(kù)的引入和所有函數(shù)的聲明

    #pragma once #include <stdio.h> #include <iostream> #include <string.h> #include <string> #include <fstream> #include <ctime> #include <vector> using namespace std; #define MAX_CREATE 1000000 #define MAX_BUFLEN 10000 #define CREATE_FILENAME "./createSudoku.txt" #define SOLVE_FILENAME "./solveSudoku.txt"int inputProcess(int argc, char** argv); int create(int count); int solve(char *path);void swapChar(char* a, char* b);//交換某兩個(gè)字符的位置 void write(char* buf[], int buflen, bool fin);//將緩沖的內(nèi)容寫入文件void initPossibleSet(int matrix[9][9], vector<int> possibleSet[9][9]);//初始化所有位置的可能的答案的集合 void updatePossibleSet(int matrix[9][9], vector<int> possibleSet[9][9], int row, int col);//更新某一個(gè)位置的可能的答案的集合 void checkPossibleSet(int matrix[9][9], vector<int> possibleSet[9][9]);//檢查是否有能夠唯一確定的空位 bool checkTrue(int matrix[9][9]);//檢查數(shù)獨(dú)解是否正確(DEBUG用) bool backTrace(int row, int col, int matrix[9][9], vector<int> possibleSet[9][9], int nextPos[9][9][2]);//回溯法求解數(shù)獨(dú)

    第二部分為main.cpp:是程序的主要框架,負(fù)責(zé)調(diào)用各個(gè)部分的函數(shù)

    第三部分為input.cpp:這個(gè)文件中包含檢測(cè)輸入的合法性的相關(guān)函數(shù)的實(shí)現(xiàn)

    第四部分為create.cpp: 這個(gè)文件中包含生成數(shù)獨(dú)終局所需要的相關(guān)函數(shù)的實(shí)現(xiàn)

    下圖為我使用的數(shù)獨(dú)終局模板

    第五部分為solve.cpp:這個(gè)文件中包含解決數(shù)獨(dú)問題所需要的相關(guān)函數(shù)的實(shí)現(xiàn)

    四、性能分析

    創(chuàng)建數(shù)獨(dú):sudoku.exe -c num

    -c 1-c 1000-c 10000-c 1000000
    0.001s0.031s0.105s10.255s

    ???????關(guān)于創(chuàng)建數(shù)獨(dú)的部分,主要的時(shí)間花費(fèi)在通過多級(jí)循環(huán)遍歷所有模板的交換可能,但是在寫入文件的部分應(yīng)該還有提升空間。
    ???????寫入文件時(shí),我設(shè)計(jì)了一個(gè)比較大的緩沖區(qū),每次生成一個(gè)終局之后就把這個(gè)終局添加到緩沖區(qū)中,當(dāng)緩沖區(qū)滿之后,再把緩沖區(qū)的內(nèi)容一次性寫入文件中。
    ???????因此緩沖區(qū)的大小是IO部分的時(shí)間復(fù)雜度的關(guān)鍵

    求解數(shù)獨(dú):sudoku.exe -s path

    -s 1-s 1000-s 10000-s 1000000
    0.001s0.095s0.733s73.216s

    ???????關(guān)于求解數(shù)獨(dú)的部分,我通過網(wǎng)上查閱資料,發(fā)現(xiàn)使用c++的ifstream和ofstream可以直接把文件全部讀入內(nèi)存或把緩沖區(qū)的內(nèi)容全部寫入文件,于是讀寫文件的時(shí)間幾乎可以不考慮優(yōu)化。
    ???????這部分最占用時(shí)間的是對(duì)每個(gè)數(shù)獨(dú)進(jìn)行遞歸的回溯法求解。使用比較簡(jiǎn)單的回溯法處理1e6的數(shù)據(jù)大概需要140多秒,顯然還有很大優(yōu)化空間。
    ???????于是我采用對(duì)數(shù)獨(dú)題目進(jìn)行預(yù)處理的方式,在每個(gè)題目中,都會(huì)有很多的空白是可以通過同行、同列、同九宮格的已有數(shù)字推斷出唯一解的,我們可以在使用回溯法求解時(shí)把這些空先解答出來,這樣就能很大程度上減少遞歸的層數(shù),能有效地減少回溯法的時(shí)間復(fù)雜度。
    ???????具體的實(shí)現(xiàn)方法是我通過possibleSet來存放每一個(gè)空格的所有可能解,當(dāng)某個(gè)空格的可能解只有一個(gè)時(shí),我們就可以把這個(gè)空格填上這個(gè)數(shù)字,然后對(duì)于這個(gè)空格所有同行、同列、同九宮格的空格更新他們的possibleSet,再重復(fù)檢查每個(gè)空的解空間大小,當(dāng)沒有空格能求出唯一解時(shí),我們進(jìn)入回溯法進(jìn)行求解。
    ???????同樣的,在回溯法中我也考慮過使用這樣的方法減少回溯的復(fù)雜度,即在每次嘗試對(duì)一個(gè)空填入可行解時(shí)都更新其他空格的可行解,并對(duì)有唯一解的空格進(jìn)行解答。但是這樣以來就使得回溯法每一次都需要大量的計(jì)算來對(duì)possibleSet進(jìn)行更新,也使得回溯法對(duì)于數(shù)獨(dú)矩陣的還原過程變得很困難,因?yàn)槲翌~外對(duì)數(shù)獨(dú)矩陣做了很大的修改。這些問題使得我在這樣實(shí)現(xiàn)代碼時(shí)讓處理1e6的數(shù)據(jù)的時(shí)間增加到190多秒,于是這個(gè)方法被棄用。
    ???????但是我們?nèi)匀豢梢允褂胮ossibleSet對(duì)回溯法進(jìn)行一些優(yōu)化。在回溯法中,我們對(duì)于每個(gè)空都要用9個(gè)數(shù)字分別嘗試填入,這意味這有很多次重復(fù)查詢。于是我們?cè)趪L試填入之前先更新這個(gè)空格的possibleSet,然后將possibleSet中的解嘗試填入空格中,這樣能很顯著的減少回溯時(shí)間。
    ???????除此之外,原始的回溯法中,每一此遞歸調(diào)用都是調(diào)用當(dāng)前處理的元素的下一個(gè)元素,也就是說并不是空格的元素也會(huì)使用一層遞歸調(diào)用,于是我想通過只對(duì)于空格使用回溯法減少遞歸層數(shù)。最終我通過nextPos[9][9][2]的數(shù)組存放每個(gè)數(shù)獨(dú)矩陣元素的下一個(gè)空格的位置,這個(gè)數(shù)組在取出一個(gè)數(shù)獨(dú)題目并進(jìn)行過預(yù)處理后就可以得出,然后在回溯法時(shí)每次遞歸調(diào)用只需要通過查表調(diào)用當(dāng)前數(shù)組元素的下一個(gè)空格位置即可。
    ???????經(jīng)過預(yù)處理、減少查詢時(shí)間、減少遞歸層數(shù)的方式進(jìn)行優(yōu)化過后,對(duì)于1e6的數(shù)獨(dú)題目只需要70多秒的時(shí)間即可解答。但是需要注意的是,我這這里使用的1e6的測(cè)試數(shù)據(jù)都是我通過對(duì)終局進(jìn)行隨機(jī)挖空得到的,空格的個(gè)數(shù)都在60-30之間,可能與實(shí)際的數(shù)獨(dú)題目有一些差距。而且當(dāng)之前使用比較簡(jiǎn)單的數(shù)獨(dú)題目時(shí),解題時(shí)間會(huì)有很大的縮短,只需要10多秒就能解決1e6的數(shù)據(jù)。所以說實(shí)際的運(yùn)行效率與題目的難易程度有很大關(guān)系,這主要是因?yàn)楹?jiǎn)單的題目空格較少,回溯法層數(shù)很小,而且很多空格都可以通過預(yù)處理解決,而困難的題目會(huì)導(dǎo)致預(yù)處理效果不明顯,回溯法搜索時(shí)很費(fèi)時(shí)間。

    五、代碼說明

    main.cpp

    int main(int argc, char** argv) {clock_t start = clock();//輸入處理int type = inputProcess(argc, argv);if (type == -1){cout << "參數(shù)錯(cuò)誤,請(qǐng)重新輸入" << endl;return 0;}//任務(wù)處理if (type == 1){int count = atoi(argv[2]);create(count);}else if (type == 2){solve(argv[2]);}clock_t end = clock();cout << "time : " << ((double)end - start) / CLOCKS_PER_SEC << "s\n" << endl;return 0; }

    input.cpp

    int inputProcess(int argc, char** argv) {//驗(yàn)證參數(shù)個(gè)數(shù)if (argc != 3){return -1;}//驗(yàn)證第一個(gè)參數(shù)-c/-sint type = 0; //-c = 1; -s = 2;if (strcmp(argv[1],"-c") == 0) {type = 1;}else if (strcmp(argv[1], "-s") == 0){type = 2;}else {type = -1;//錯(cuò)誤參數(shù)}if (type == -1){return -1;}//驗(yàn)證第二個(gè)參數(shù)if (type == 1)//-c{string countS = argv[2];for (unsigned int i = 0; i < countS.length(); i++){if (countS[i] > '9' || countS[i] < '0'){return -1;}}}else if (type == 2) {//-sFILE* p = NULL;fopen_s(&p, argv[2], "r");if (p == NULL){return -1;}fclose(p);}return type; }

    create.cpp

    int create(int count) {//覆蓋之前的文件FILE* p = NULL;fopen_s(&p, CREATE_FILENAME, "w");if (p != 0) {fclose(p);}char** buf;buf = (char**)malloc(sizeof(char*) * MAX_BUFLEN);int buflen = 0;int countRes = 0;if (count > MAX_CREATE){cout << "請(qǐng)求生成的數(shù)獨(dú)終局過多" << endl;return 0;}//數(shù)獨(dú)終局的原始模板,其他的終局在此基礎(chǔ)上變化而成char sudoTemplate[10][10] = { "abcghidef","defabcghi","ghidefabc","bcahigefd","efdbcahig","higefdbca","cabighfde","fdecabigh","ighfdecab" };char matrix[9][9];for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++){matrix[i][j] = sudoTemplate[i][j];}}//六層循環(huán)遍歷每一種模板的交換情況//行for(int row1 = 0; row1 < 2; row1++){//12行交換for (int i = 0; i < 9; i++){swapChar(&matrix[1][i], &matrix[2][i]);}for (int row2 = 0; row2 < 6; row2++){if (row2 % 2 == 0){//34行交換for (int i = 0; i < 9; i++){swapChar(&matrix[3][i], &matrix[4][i]);}}else {//45行交換for (int i = 0; i < 9; i++){swapChar(&matrix[5][i], &matrix[4][i]);}}for (int row3 = 0; row3 < 6; row3++){if (row3 % 2 == 0){//67行交換for (int i = 0; i < 9; i++){swapChar(&matrix[6][i], &matrix[7][i]);}}else {//78行交換for (int i = 0; i < 9; i++){swapChar(&matrix[7][i], &matrix[8][i]);}}//列for (int col1 = 0; col1 < 2; col1++){//12列交換for (int i = 0; i < 9; i++){swapChar(&matrix[i][1], &matrix[i][2]);}for (int col2 = 0; col2 < 6; col2++){if (col2 % 2 == 0){//34列交換for (int i = 0; i < 9; i++){swapChar(&matrix[i][3], &matrix[i][4]);}}else {//45列交換for (int i = 0; i < 9; i++){swapChar(&matrix[i][4], &matrix[i][5]);}}for (int col3 = 0; col3 < 6; col3++){if (col2 % 2 == 0){//67列交換for (int i = 0; i < 9; i++){swapChar(&matrix[i][6], &matrix[i][7]);}}else {//78列交換for (int i = 0; i < 9; i++){swapChar(&matrix[i][7], &matrix[i][8]);}}//開始生成全排列int index[8] = { -1,-1,-1,-1,-1,-1,-1,-1 };int pos[9];for (pos[1] = 0; pos[1] < 8; pos[1]++){for (pos[2] = 0; pos[2] < 7; pos[2]++){for (pos[3] = 0; pos[3] < 6; pos[3]++){for (pos[4] = 0; pos[4] < 5; pos[4]++){for (pos[5] = 0; pos[5] < 4; pos[5]++){for (pos[6] = 0; pos[6] < 3; pos[6]++){for (pos[7] = 0; pos[7] < 2; pos[7]++){for (pos[8] = 0; pos[8] < 1; pos[8]++){//計(jì)算排列//映射信息存在index中index[pos[1]] = 1;for (int i = 2; i <= 8; i++) {int countPos = 0;for (int j = 0; j < 8; j++){if (index[j] == -1){countPos++;}if (countPos - 1 == pos[i]) {index[j] = i + 1;break;}}}//生成一個(gè)終局endchar* end = (char*)malloc(sizeof(char) * 81);for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++) {if (matrix[i][j] == 'a') {if (end != 0) {end[i * 9 + j] = '2';}}else {if (end != 0) {end[i * 9 + j] = index[matrix[i][j] - 'a' - 1] + '1' - 1;}}}}//將終局存在IO緩沖中if (buf != 0) {buf[buflen++] = end;}countRes++;if (countRes == count) {if (buflen != 0) {write(buf, buflen, true);buflen = 0;}return 0;}if (buflen >= MAX_BUFLEN) {write(buf, buflen, false);buflen = 0;}for (int i = 0; i < 8; i++){index[i] = -1;}}}}}}}}}//}}}}}}return 0; } void swapChar(char* a, char* b) {char temp = *a;*a = *b;*b = temp; } void write(char* buf[], int bufLen, bool fin) {FILE* p = NULL;fopen_s(&p, CREATE_FILENAME, "a+");for (int i = 0; i < bufLen; i++){for (int j = 0; j < 9; j++){for (int k = 0; k < 9; k++){if (p != 0) {fwrite(&buf[i][j * 9 + k], sizeof(char), 1, p);if (k != 8) {fprintf(p, " ");}}}if (!(j == 8 && fin && i == bufLen - 1)) {if (p != 0) {fprintf(p, "\n");}}}if (!fin || i != bufLen - 1) {if (p != 0) {fprintf(p, "\n");}}free(buf[i]);}if (p != 0) {fclose(p);} }

    solve.cpp

    int solve(char* path) {//讀文件ifstream fin(path, std::ios::binary);int bufLen = static_cast<unsigned int>(fin.seekg(0, std::ios::end).tellg());vector<char> buf(bufLen);fin.seekg(0, std::ios::beg).read(&buf[0], static_cast<std::streamsize>(buf.size()));fin.close();int bufPoint = 0;while (bufPoint < bufLen){int bufPointStart = bufPoint;//取出一個(gè)數(shù)獨(dú)題目int matrix[9][9];vector<int> possibleSet[9][9];for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++){matrix[i][j] = buf[bufPoint] - '0';bufPoint += 2;possibleSet[i][j].clear();}}//先把答案唯一的空位填上,降低遞歸的復(fù)雜度initPossibleSet(matrix, possibleSet);checkPossibleSet(matrix, possibleSet);//將空位的位置存成表,加快查詢速度int nextPos[9][9][2];int startPos[2] = { -1, -1 };for (int i = 8; i >= 0; i--){for (int j = 8; j >= 0; j--){nextPos[i][j][0] = startPos[0];nextPos[i][j][1] = startPos[1];if (matrix[i][j] == 0) {startPos[0] = i;startPos[1] = j;}}}//回溯法求解backTrace(startPos[0], startPos[1], matrix, possibleSet, nextPos);if (bufPoint != bufLen - 1) {bufPoint++;}//存儲(chǔ)解for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++){buf[bufPointStart] = matrix[i][j] + '0';bufPointStart += 2;}}}//寫文件ofstream fout(SOLVE_FILENAME, std::ios::binary);fout.seekp(0).write(&buf[0], bufLen);fout.close();return 0; } //初始化所有位置的可能的答案的集合 void initPossibleSet(int matrix[9][9], vector<int> possibleSet[9][9]) {for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++) {updatePossibleSet(matrix, possibleSet, i, j);}} } //更新某一個(gè)位置的可能的答案的集合 void updatePossibleSet(int matrix[9][9], vector<int> possibleSet[9][9], int row, int col) {possibleSet[row][col].clear();if (matrix[row][col] == 0){int exist[9];memset(exist, 0, sizeof(exist));for (int k = 0; k < 9; k++){if (matrix[row][k] != 0) {exist[matrix[row][k] - 1] = 1;}if (matrix[k][col] != 0) {exist[matrix[k][col] - 1] = 1;}if (matrix[row / 3 * 3 + k / 3][col / 3 * 3 + k % 3] != 0){exist[matrix[row / 3 * 3 + k / 3][col / 3 * 3 + k % 3] - 1] = 1;}}for (int k = 0; k < 9; k++) {if (exist[k] == 0) {possibleSet[row][col].push_back(k + 1);}}} } //檢查是否有能夠唯一確定的空位 void checkPossibleSet(int matrix[9][9], vector<int> possibleSet[9][9]) {bool stepOut = true;while (stepOut){stepOut = false;for (int i = 0; i < 9; i++){for (int j = 0; j < 9; j++) {if (possibleSet[i][j].size() == 1) {stepOut = true;matrix[i][j] = possibleSet[i][j][0];possibleSet[i][j].clear();for (int k = 0; k < 9; k++){updatePossibleSet(matrix, possibleSet, i, k);updatePossibleSet(matrix, possibleSet, k, j);updatePossibleSet(matrix, possibleSet, i/3*3+k/3, j/3*3+k%3);}}}}} } //檢查數(shù)獨(dú)解是否正確(DEBUG用) bool checkTrue(int matrix[9][9]) {for (int i = 0; i < 9; i++) {int existR[9];int existC[9];int existB[9];memset(existR, 0, sizeof(existR));memset(existC, 0, sizeof(existC));memset(existB, 0, sizeof(existB));int baseR = 0, baseC = 0;switch (i){case 0:baseR = 0; baseC = 0;break;case 1:baseR = 0; baseC = 3;break;case 2:baseR = 0; baseC = 6;break;case 3:baseR = 3; baseC = 0;break;case 4:baseR = 3; baseC = 3;break;case 5:baseR = 3; baseC = 6;break;case 6:baseR = 6; baseC = 0;break;case 7:baseR = 6; baseC = 3;break;case 8:baseR = 6; baseC = 6;break;default:break;}for (int j = 0; j < 9; j++) {if (matrix[i][j] <= 0 || matrix[i][j] >= 10 ||matrix[j][i] <= 0 || matrix[j][i] >= 10 ||matrix[baseR + j / 3][baseC + j % 3] <= 0 || matrix[baseR + j / 3][baseC + j % 3] >= 10){return false;}if (existC[matrix[j][i] - 1] == 1 || existR[matrix[i][j] - 1] == 1 || existB[matrix[baseR + j / 3][baseC + j % 3] - 1] == 1) {return false;}else {existC[matrix[j][i] - 1] = 1;existR[matrix[i][j] - 1] = 1;existB[matrix[baseR + j / 3][baseC + j % 3] - 1] = 1;}}}return true; } //回溯法求解數(shù)獨(dú) bool backTrace(int row, int col, int matrix[9][9], vector<int> possibleSet[9][9], int nextPos[9][9][2]) {if (row == -1 && col == -1) {//已經(jīng)成功了,打印數(shù)組即可return true;}updatePossibleSet(matrix, possibleSet, row, col);for (int k = 0; k < possibleSet[row][col].size(); k++) {//判斷給i行j列放1-9中的任意一個(gè)數(shù)是否能滿足規(guī)則//將該值賦給該空格,然后進(jìn)入下一個(gè)空格matrix[row][col] = possibleSet[row][col][k];if (backTrace(nextPos[row][col][0], nextPos[row][col][1], matrix, possibleSet, nextPos)){return true;}//初始化該空格matrix[row][col] = 0;}return false; }

    以上代碼都在visual stdio 2019自帶的代碼分析器中消除了所有警告

    六、實(shí)際花費(fèi)的時(shí)間

    PSP2.1Personal Software Process Stages實(shí)際耗時(shí)(分鐘)
    Planning計(jì)劃60
    Estimate估計(jì)這個(gè)任務(wù)需要多少時(shí)間10
    Development開發(fā)1200
    Analysis需求分析(包括學(xué)習(xí)新技術(shù))60
    Design Spec生成設(shè)計(jì)文檔60
    Design Review設(shè)計(jì)復(fù)審(和同事審核設(shè)計(jì)文檔)20
    Coding Standard代碼規(guī)范(為目前的開發(fā)制定合適的規(guī)范)20
    Design具體設(shè)計(jì)60
    Coding具體編碼1800
    Code Review代碼復(fù)審20
    Test測(cè)試(自我測(cè)試,修改代碼,提交修改)180
    Reporting報(bào)告80
    Test Report測(cè)試報(bào)告30
    Size Measurement計(jì)算工作量20
    Postmortem & Process Improvement Plan事后總結(jié),并提出過程改進(jìn)計(jì)劃20
    合計(jì)3640

    七、總結(jié)

    ???????這此的數(shù)獨(dú)項(xiàng)目中我印象最深的時(shí)解數(shù)獨(dú)的優(yōu)化過程,有很多的優(yōu)化想法,但是因?yàn)樵O(shè)計(jì)時(shí)考慮不周,導(dǎo)致出現(xiàn)了很多次的負(fù)優(yōu)化。程序效率的優(yōu)化部分我還有很多需要改進(jìn)的地方。

    總結(jié)

    以上是生活随笔為你收集整理的软件工程基础-个人项目-数独的生成与求解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    国产呻吟在线 | 成人91免费视频 | 欧美国产亚洲精品久久久8v | 免费高清在线视频一区· | 精品国产大片 | 亚洲第一成网站 | 奇米网777| 亚洲砖区区免费 | 国产精品久久久久久久久久ktv | 日韩伦理一区二区三区av在线 | 欧美精品一区二区三区四区在线 | 一区二区视频在线播放 | 少妇bbb| 国产高清不卡在线 | 日本久久高清视频 | 久久精彩 | 天天做天天爱天天综合网 | 综合网在线视频 | 亚洲波多野结衣 | 国产成人亚洲在线观看 | 久久99久久99免费视频 | 欧美日韩在线观看视频 | 亚洲精选久久 | 久久精品欧美视频 | 亚洲激情在线播放 | 日韩在线观看视频中文字幕 | 欧美一级在线看 | 日韩一区二区三免费高清在线观看 | 亚洲在线色 | 人人爽人人爽人人片av | 亚洲欧美观看 | 亚洲伦理中文字幕 | 免费中文字幕 | 成人黄色小说网 | 91传媒在线播放 | 亚洲色视频 | 日日操天天爽 | 婷婷五月色综合 | 日韩美在线 | 婷婷在线免费视频 | 国产精品嫩草69影院 | 色婷婷综合久久久中文字幕 | 免费成人结看片 | 色综合夜色一区 | 中文字幕在线观看一区二区三区 | 中文字幕成人 | 日日天天av| 色偷偷av男人天堂 | 蜜臀av夜夜澡人人爽人人桃色 | 欧美激情综合网 | 亚洲日韩欧美一区二区在线 | 亚州精品国产 | 日韩av黄 | 亚洲日本在线视频观看 | 国产又黄又爽又猛视频日本 | 欧美色图另类 | 激情校园亚洲 | 综合精品在线 | 成年人视频在线观看免费 | 久久草草影视免费网 | 国产精品一区久久久久 | 国产区在线视频 | 免费看的黄色片 | 91福利视频久久久久 | 亚州精品天堂中文字幕 | 国产色a在线观看 | 国内精品在线观看视频 | 不卡精品视频 | 国产色在线观看 | av 在线观看 | 国产精品欧美久久 | 免费av大片 | 国产视频一区二区在线 | 国产精品久久久久影院 | 欧美综合久久 | 久久久久久久国产精品 | 国产精品一区二区在线观看免费 | 久久视频这里有精品 | 国产免费黄色 | 在线国产片 | 91成人欧美 | 亚洲精品在线视频观看 | 日韩黄色免费电影 | 日韩免费观看一区二区 | 黄毛片在线观看 | 国产黄色片一级三级 | 国产麻豆视频网站 | 国产精品女同一区二区三区久久夜 | 久久精品免视看 | 免费在线观看黄色网 | 国产成人精品综合久久久 | 久久国产精品影视 | 久久国产乱 | 超碰com | 在线观看中文字幕2021 | 97超碰香蕉| 国产在线观看污片 | 亚洲欧美激情精品一区二区 | 日日夜夜精品视频天天综合网 | 亚洲最大成人免费网站 | 国产精品v欧美精品v日韩 | 99久久久久久久 | 亚洲国产人午在线一二区 | 欧美一区二区三区四区夜夜大片 | 久久免费在线观看视频 | 精品人人人 | 亚洲精品综合欧美二区变态 | 日韩精品你懂的 | 91女神的呻吟细腰翘臀美女 | 人人干人人添 | 国产在线理论片 | 国产亚洲人成网站在线观看 | 欧美性黑人 | 99色在线观看视频 | 在线中文字幕观看 | 91一区二区在线 | 国产一区二区三区 在线 | 色综合久久五月 | 欧美日韩在线观看一区二区 | 国产精品成人免费精品自在线观看 | 麻豆视频在线观看免费 | 日韩乱码中文字幕 | 美女精品 | 国产色区| 91av手机在线 | 日韩精品一区二区不卡 | 亚洲免费一级 | 91九色在线播放 | 亚洲精品午夜久久久久久久久久久 | 免费一级日韩欧美性大片 | 又黄又刺激 | 狠狠狠色丁香综合久久天下网 | 4438全国亚洲精品观看视频 | 在线免费观看黄网站 | 婷婷精品在线视频 | 亚洲国内精品视频 | 99久久久久国产精品免费 | 婷婷六月天丁香 | 国产精品a久久久久 | 91免费观看网站 | 欧美三级免费 | 国产日韩欧美自拍 | 蜜臀av一区二区 | 色综合久久中文字幕综合网 | 97电影网站| 日韩偷拍精品 | 亚洲免费av电影 | 日韩乱码在线 | 国产成人精品一二三区 | 日韩在线视频线视频免费网站 | 国产精品欧美一区二区 | 国产美女在线精品免费观看 | 99 色 | 国语黄色片 | 制服丝袜在线91 | 国产精品一区二区美女视频免费看 | 色噜噜日韩精品欧美一区二区 | 亚洲第一色 | 欧美久久电影 | 久久综合九色综合久久久精品综合 | 九色91在线 | 欧美日韩精品免费观看视频 | 亚洲人久久久 | 在线观看国产麻豆 | 久久综合加勒比 | 国产日韩精品在线观看 | 欧美一级性生活片 | 91传媒在线 | 91福利区一区二区三区 | 色综合人人 | 精品国产99 | 久久久久久久影视 | 色吊丝在线永久观看最新版本 | 免费网站在线 | 99在线免费视频观看 | a久久久久久 | 日本久久精品视频 | 欧美日韩二三区 | 亚洲综合在 | 日韩特级黄色片 | 欧美精品亚洲二区 | av福利网址导航 | 国产成人精品免费在线观看 | 亚洲欧美日韩在线看 | 亚洲欧美日韩精品久久久 | 久久免费看毛片 | 色九色| 日韩免费高清在线 | 欧美性生活一级片 | 国产又黄又爽无遮挡 | 日韩成人精品在线观看 | 亚洲午夜精品在线观看 | 免费视频一二三 | 久久久久亚洲精品成人网小说 | avav99| 国产精品久久久久国产精品日日 | 久久在线 | 美女在线观看av | 国产亚洲情侣一区二区无 | 9色在线视频| 九九九九热精品免费视频点播观看 | 国产精品福利无圣光在线一区 | 999久久久精品视频 日韩高清www | 黄p网站在线观看 | 伊人久久婷婷 | 手机av资源 | 99久久er热在这里只有精品15 | 国产精品初高中精品久久 | 97视频网站 | 午夜在线观看影院 | 国产精品一区二区你懂的 | 久久精品亚洲一区二区三区观看模式 | 欧美巨大荫蒂茸毛毛人妖 | 96av视频 | 开心激情综合网 | 91成人在线观看高潮 | 亚洲欧美日韩国产精品一区午夜 | 国产 在线 日韩 | 日韩欧美成 | 免费人做人爱www的视 | 国产麻豆精品久久一二三 | 久草在线手机视频 | av观看网站| 精品日韩av| 国产又粗又猛又黄又爽的视频 | 九色在线 | 成人一区二区在线 | 亚洲视频 在线观看 | 国产精品久久久久久欧美 | aⅴ视频在线 | 在线看国产 | 三级动态视频在线观看 | 在线免费av播放 | 在线韩国电影免费观影完整版 | 亚洲精品91天天久久人人 | 国产99亚洲 | 日本黄色免费看 | 亚洲成av人电影 | 精品视频9999 | 亚洲 欧美 精品 | 黄色一级大片免费看 | 国产精品99久久久久久小说 | 婷婷六月天在线 | 亚洲a在线观看 | 伊人精品影院 | 国产伦理一区二区三区 | 欧美韩日在线 | 国产精品videossex国产高清 | 天天爱天天操天天爽 | 99免费精品视频 | 片黄色毛片黄色毛片 | 蜜桃视频成人在线观看 | 日韩成人在线一区二区 | 色www.| 亚洲一级免费电影 | 亚洲 欧洲av| 欧洲亚洲女同hd | 国产一区视频导航 | 国产人在线成免费视频 | 在线小视频你懂的 | 国产精品99久久免费观看 | 久久久久久久久精 | 日韩精品久久久久久久电影竹菊 | 久久人人爽人人片av | 中文字幕免费观看视频 | av三级在线看 | 免费一级特黄录像 | 午夜精品久久久久久 | 国产手机在线观看视频 | 国产精品久久婷婷六月丁香 | 亚洲爱视频 | av免费电影网站 | 91精品资源 | 成年人在线播放视频 | 99久久er热在这里只有精品15 | 亚洲视频在线免费看 | 亚洲国产小视频在线观看 | 一区二区影院 | 香蕉免费在线 | 999成人网| 国产精品欧美久久久久无广告 | 日本高清中文字幕有码在线 | 偷拍福利视频一区二区三区 | 日日综合网 | 国语对白少妇爽91 | 网站免费黄色 | 免费中午字幕无吗 | 色婷婷天天干 | 在线 精品 国产 | 国产1区2区3区精品美女 | 午夜精品电影 | 日韩精品中文字幕在线播放 | 中文在线字幕免费观 | 国产精品一区二区精品视频免费看 | 日韩视频1区 | 一级黄色片在线免费观看 | 精品国产成人在线影院 | 黄色在线观看www | 日韩,精品电影 | 久久久久久不卡 | 亚洲欧美国产精品18p | 亚洲精品在线免费看 | 国产亚洲综合性久久久影院 | 探花视频在线观看 | 色a4yy| 国产成人精品在线播放 | 免费v片| 97国产大学生情侣白嫩酒店 | 色在线高清| 天天爱天天操天天爽 | 久草在| 99久久毛片| 日韩免费不卡视频 | 99久久国产免费,99久久国产免费大片 | www.com操| 久久综合久久综合久久综合 | 精品国偷自产国产一区 | 手机av在线免费观看 | 99c视频高清免费观看 | av 一区 二区 久久 | 黄色国产在线观看 | 国产精品18久久久久久久网站 | 国产最新精品视频 | 成人丝袜 | 婷婷六月中文字幕 | 又黄又爽又色无遮挡免费 | 黄色高清视频在线观看 | 免费开视频 | 97免费中文视频在线观看 | 欧美精品天堂 | 国产午夜精品久久久久久久久久 | 在线视频观看国产 | 99久久精品国产一区二区成人 | 国际精品久久 | 免费黄色在线网址 | 黄色免费视频在线观看 | 综合五月婷婷 | 欧美精品在线观看免费 | 中文字幕一二 | 日韩欧美一区二区三区免费观看 | 中日韩在线视频 | www久久久| 操碰av | av在线播放免费 | 国产亚洲综合性久久久影院 | 久久成人久久 | 久久综合色影院 | 四虎永久免费 | 久久久久电影网站 | 国产精品成人aaaaa网站 | 久久成年人网站 | 超碰在线中文字幕 | 成人黄色免费在线观看 | 绯色av一区 | 中文字幕二区 | 中文字幕一区二区三区在线播放 | 日韩三级免费 | 国产污视频在线观看 | 99久久精品视频免费 | 超碰99人人| 国产明星视频三级a三级点| 色综合色综合久久综合频道88 | 久久夜av | 91女神的呻吟细腰翘臀美女 | 久久99精品国产麻豆婷婷 | 日韩成人精品 | 久久久噜噜噜久久久 | 六月丁香激情综合色啪小说 | 久草免费在线视频观看 | 中文成人字幕 | 天天爱天天爽 | 日韩动漫免费观看高清完整版在线观看 | 成人国产精品av | 欧美日韩久久不卡 | 日韩黄色大片在线观看 | 色www.| 日韩欧美中文 | 一区二区三区日韩在线观看 | 亚洲欧美综合精品久久成人 | 三级av免费看 | 亚洲国产播放 | 久插视频 | 成在线播放| 国产91精品看黄网站在线观看动漫 | 91av网址| 国产黄色在线看 | 免费视频三区 | 欧美日韩18| 国产日韩欧美在线观看视频 | 日韩免费一区二区三区 | 久久久久激情 | 亚洲va欧美va人人爽春色影视 | 婷婷激情在线观看 | 91精品国产91久久久久福利 | 久久av中文字幕片 | 黄色国产区 | 日韩欧美在线免费 | 成人小视频在线 | 日韩二区三区在线 | 久草精品视频在线看网站免费 | 99久久精品免费看国产一区二区三区 | 在线精品播放 | 手机在线观看国产精品 | 日日干美女 | 国产原创av在线 | 午夜性盈盈 | 成人蜜桃 | 亚洲欧美日韩一区二区三区在线观看 | 91中文字幕在线播放 | 免费观看视频的网站 | 在线观看成人一级片 | 狠狠的干狠狠的操 | 国内精品亚洲 | 精品久久久999| 成人在线观看免费 | 二区三区在线观看 | 国产一区二区免费 | 日韩网页 | 韩日三级在线 | 91看片网址 | 青青草国产成人99久久 | 一区二区 不卡 | 五月婷婷在线观看视频 | 久久人人97超碰精品888 | 久久久91精品国产一区二区精品 | 亚洲激情在线观看 | 欧美日韩国产精品一区二区三区 | www日韩视频 | 黄色中文字幕 | 国产精品2018 | 777久久久| 麻豆成人精品视频 | 99免费在线视频观看 | 国产大片黄色 | 久久久久激情视频 | 中文字幕国产亚洲 | 激情视频久久 | 免费观看丰满少妇做爰 | 伊人久久国产 | 一区精品久久 | 中中文字幕av | 日日精品 | 色视频在线观看 | 操久在线 | 国产又粗又猛又爽又黄的视频免费 | 久久综合九色综合97_ 久久久 | 香蕉免费 | 久久综合中文色婷婷 | 91在线91| 日韩理论电影在线观看 | 97视频中文字幕 | 免费黄色在线播放 | 成人午夜免费福利 | 激情欧美国产 | 久久综合狠狠综合久久综合88 | 亚洲一区二区三区四区精品 | 天天色天天干天天 | 免费看污网站 | 免费看污的网站 | 狠狠狠狠狠狠天天爱 | av韩国在线| 青青久视频| 国产精品日韩欧美一区二区 | 久久综合狠狠综合久久综合88 | 日韩免费二区 | 天天操天天射天天 | 亚洲影音先锋 | 久久久电影 | 手机色在线 | 怡红院av | 少妇bbbb | 国产成人精品亚洲精品 | 亚洲精品乱码久久久久久蜜桃不爽 | 在线视频观看成人 | 日本精品久久久久 | 久久99热精品 | 国产专区在线 | 青青河边草观看完整版高清 | 日韩肉感妇bbwbbwbbw | 国产精品福利午夜在线观看 | 91免费版在线 | 成人在线视频观看 | 欧美激情综合五月 | a久久久久 | 黄色福利网 | 日本精品久久久一区二区三区 | 久久dvd | 免费看毛片网站 | av国产在线观看 | 在线视频日韩欧美 | 草草草影院| 又黄又爽又刺激的视频 | 免费色视频 | 久久色网站 | 911久久香蕉国产线看观看 | 亚洲精品99久久久久中文字幕 | av福利第一导航 | 欧美在线观看视频一区二区 | 久99久精品视频免费观看 | 男女免费视频观看 | 91精品国产92久久久久 | 91传媒视频在线观看 | 日韩精品一区二区三区视频播放 | 中文字幕欧美日韩va免费视频 | 欧美va电影| 欧美资源在线观看 | 色午夜影院 | 好看的国产精品视频 | 在线亚洲免费视频 | 天天操狠狠操夜夜操 | 国产一级视频在线观看 | 日本公妇色中文字幕 | 欧美精品日韩 | 91在线观看视频网站 | 免费观看第二部31集 | av在观看 | 日韩欧美一区二区在线播放 | 97福利在线 | www久久 | 精品一区 精品二区 | av免费网站在线观看 | 在线看小早川怜子av | 久久久久久久久久久久久久av | 蜜臀精品久久久久久蜜臀 | 色天天综合久久久久综合片 | 中文一区在线观看 | 欧美一区二区三区四区夜夜大片 | 天天综合区| 午夜精品电影一区二区在线 | 国产一级淫片在线观看 | 欧美在线一二区 | 婷婷久久一区二区三区 | 久久久黄色 | 成人精品一区二区三区中文字幕 | 精品九九九 | zzijzzij亚洲成熟少妇 | 青青河边草观看完整版高清 | 亚洲精品免费在线观看视频 | 欧美精品一区二区在线观看 | 人人干网站 | 欧美一级黄色片 | 久久再线视频 | 日韩高清在线一区二区三区 | 久久精品久久久久久久 | 国产精品成人自产拍在线观看 | 在线高清av| 亚洲国产高清在线 | 欧美一级免费黄色片 | 国产精品毛片久久久 | 天天操综合网站 | 精品a级片| www·22com天天操 | 日韩高清 一区 | 西西大胆免费视频 | 色天天综合久久久久综合片 | 欧美精选一区二区三区 | 中文成人字幕 | 毛片网在线观看 | 在线草 | 天天爽综合网 | 精品国产_亚洲人成在线 | 日韩一区二区免费视频 | 国产亚洲va综合人人澡精品 | 国产玖玖视频 | 欧美一区二区三区四区夜夜大片 | 久操免费视频 | 91激情视频在线播放 | 日韩一区二区三区在线观看 | 日韩精品视频在线免费观看 | 亚洲精品午夜久久久久久久 | 亚洲高清视频在线播放 | av在线免费播放网站 | 成年人在线免费看片 | 色橹橹欧美在线观看视频高清 | 一区二区三区在线电影 | 免费特级黄毛片 | 国产精品久久久久9999吃药 | 夜夜天天干 | 亚洲成人中文在线 | 人人爽人人澡人人添人人人人 | 麻豆视频在线观看免费 | 色就是色综合 | 欧美成a人片在线观看久 | 少妇bbw撒尿 | 黄色片毛片 | 97久久久免费福利网址 | 国内精品久久久久影院优 | 黄网站色视频 | www.五月激情.com | 成人av网站在线观看 | 久久香蕉一区 | 久久污视频 | 97电影在线观看 | 天天操夜夜拍 | 欧美一级高清片 | 人成午夜视频 | 干综合网 | 夜夜爱av| 日日干网址 | 久99久中文字幕在线 | 天天色综合三 | 成人三级黄色 | 欧美激情综合五月色丁香小说 | 91桃花视频 | 亚洲国产字幕 | 国产精品理论片在线播放 | 99视频网站 | 91亚洲精品久久久久图片蜜桃 | 国产系列 在线观看 | 中文字幕你懂的 | 24小时日本在线www免费的 | 91视频麻豆视频 | 亚洲aⅴ乱码精品成人区 | 午夜色大片在线观看 | 欧美日韩中文字幕视频 | 婷婷婷国产在线视频 | 深爱激情五月婷婷 | 九九色网| 69国产成人综合久久精品欧美 | 国产精品爽爽爽 | 久久久久亚洲精品国产 | 伊人国产在线观看 | 久久综合桃花 | 免费碰碰 | 在线有码中文 | 国产 欧美 日产久久 | 婷婷激情5月天 | 爱av在线网 | 午夜视频在线观看一区 | 成人午夜网 | 久久精品123| 久热久草 | 日韩系列在线观看 | 香蕉视频在线网站 | 韩国在线一区二区 | 久草在线精品观看 | 亚洲精品合集 | 国产成人精品综合 | 国产精品久久久久久久毛片 | 日本在线精品视频 | 最新91在线视频 | 亚洲成人精品在线观看 | 91麻豆精品国产午夜天堂 | 日韩精品中文字幕有码 | 久久成年视频 | 精品久久一 | bbbbb女女女女女bbbbb国产 | 国产高清在线观看av | 久久久久夜色 | 美女网站黄免费 | 欧美国产日韩一区 | 91九色在线观看视频 | 草莓视频在线观看免费观看 | 日女人免费视频 | 国产黄免费 | 久久好看免费视频 | 91资源在线观看 | 性色xxxxhd | 在线观看一区 | 国产这里只有精品 | 亚洲伊人色 | 国产在线超碰 | 久久久久久综合 | 国产视频美女 | 麻花豆传媒一二三产区 | 亚洲在线网址 | 成人不用播放器 | 亚洲精品久久久久www | 久久久久免费视频 | 九九有精品 | 超碰在线人人爱 | 国产不卡在线播放 | 麻豆视频免费播放 | 日韩综合在线观看 | 免费精品视频在线 | 国产高清在线永久 | 亚洲永久字幕 | av中文字幕免费在线观看 | 国产精品第一页在线观看 | 亚洲男人天堂a | 亚洲激情 | 国产剧情一区二区 | 91尤物国产尤物福利在线播放 | 国产亚洲精品久久久久秋 | avwww在线观看 | 亚洲激情p | 久久精彩视频 | 成人av中文字幕在线观看 | 婷婷久久综合网 | 国产精品普通话 | 高清色免费 | 五月婷婷六月丁香 | 久久电影网站中文字幕 | 最新成人av | www.国产高清| 免费看成人av | 国产女v资源在线观看 | 国产婷婷在线观看 | 精品亚洲男同gayvideo网站 | 肉色欧美久久久久久久免费看 | 久久久久久久久久国产精品 | 国内久久久久久 | 色在线中文字幕 | 亚洲精品视频第一页 | 999国内精品永久免费视频 | 免费视频网 | 色婷婷电影 | 亚洲免费一级 | 中文字幕一区二区三区视频 | 色五婷婷 | 国模视频一区二区三区 | 中文字幕一区二区三区久久 | 精品国产一区二区三区av性色 | 天天操天天射天天爱 | 国产在线国偷精品产拍 | 亚洲午夜精品福利 | 草久视频在线观看 | 日韩精品欧美视频 | 999免费视频 | 激情av在线播放 | 91av蜜桃| 九九九九九精品 | 日韩专区一区二区 | 69xx视频 | 天天操人 | 国产做aⅴ在线视频播放 | 国产成人精品一区二区三区福利 | 国产在线欧美日韩 | 天天天天天天干 | 干干夜夜 | 91成人精品国产刺激国语对白 | 亚洲人在线7777777精品 | 99久久99久久精品国产片 | 婷婷电影在线观看 | 草久久精品 | 国产黄色片免费在线观看 | 日本精品久久久久 | .精品久久久麻豆国产精品 亚洲va欧美 | 在线视频91| 在线观看中文字幕一区二区 | 久久这里只有精品23 | 国产中文字幕在线免费观看 | 色婷婷综合成人av | 成年人黄色在线观看 | 干干夜夜 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 欧美最猛性xxx | 日韩免费视频 | 婷婷在线播放 | 69国产盗摄一区二区三区五区 | 日韩精品偷拍 | 91人人爽人人爽人人精88v | 亚洲欧美怡红院 | 色网站免费在线观看 | 国产精品美乳一区二区免费 | 亚洲色图色 | 一区二区三区四区五区六区 | 中文字幕91在线 | 91正在播放| 久久深夜 | 97av.com | 欧美日韩久久不卡 | 激情网站免费观看 | 欧美日本不卡视频 | 欧美日韩性生活 | 伊人亚洲精品 | 亚洲国产成人精品久久 | 日本久久久影视 | wwwww.国产| 精品国产亚洲一区二区麻豆 | 婷婷国产v亚洲v欧美久久 | 欧美aaa一级| 一区二区激情视频 | 国产成人免费 | 国语黄色片 | 日韩亚洲国产中文字幕 | 久久这里只有精品首页 | 亚洲精品国产精品99久久 | www黄免费| 91网免费看| 国内亚洲精品 | 成人av高清在线 | 黄色免费在线视频 | 激情五月五月婷婷 | 国产精品久久电影网 | 久久视频在线观看 | 久久a热6| 欧美亚洲另类在线视频 | 97涩涩视频 | 人人爽人人香蕉 | 亚洲精品中文字幕在线观看 | 国产日韩欧美在线免费观看 | 国产手机在线观看 | 四虎成人精品永久免费av | 久久九九精品 | 91人人射 | 国产一级免费观看视频 | 欧美少妇xx | 成人av电影在线观看 | 4p变态网欧美系列 | 亚洲精品国产精品国自 | 国产精品久久久精品 | 亚洲精品大全 | 中文字幕在线中文 | 精品久久久久久久久久久久久 | 丁香午夜 | 欧美日韩国产精品一区 | 少妇bbb好爽 | 超碰97公开| 免费一级片在线观看 | 在线观看一区 | 黄色大片日本免费大片 | 成人av在线观 | 操操综合网 | 香蕉视频在线免费 | 亚洲一区精品二人人爽久久 | 午夜精品久久久久久久爽 | 亚洲在线激情 | 久操视频在线免费看 | 精品国产一区二区三区日日嗨 | 成人a免费看 | 热久久国产精品 | 精品国偷自产国产一区 | 国产综合香蕉五月婷在线 | 一级免费黄视频 | 亚洲乱亚洲乱亚洲 | 福利久久久 | 亚洲黄色软件 | 91在线播放视频 | 爱爱av网站 | 国产精品女主播一区二区三区 | 在线视频99 | 欧美激情视频免费看 | 国产无套精品久久久久久 | 国产精品乱码久久久久久1区2区 | 亚洲欧美国产日韩在线观看 | 韩国av三级 | 色综合色综合色综合 | 99re亚洲国产精品 | 激情 亚洲 | 久久久久99精品成人片三人毛片 | 很污的网站| 国内精品在线看 | 中文字幕在线观看2018 | 精品一区 在线 | 日日夜夜精品网站 | 久久久免费精品国产一区二区 | 日韩精品免费在线观看视频 | 在线高清一区 | 丁香 婷婷 激情 | 国产精品区免费视频 | 91精品久久久久久久久 | 成人黄色大片 | 天天综合人人 | 久久国产免费视频 | 久久99婷婷| 国产精品麻豆91 | 91香蕉视频在线下载 | 成人v| a视频免费| 中国一级片在线播放 | 91视频免费播放 | 久草在线免费在线观看 | 欧美一级看片 | 美女视频是黄的免费观看 | 国产破处视频在线播放 | 在线色资源 | 麻豆视频在线观看 | 免费看的黄色片 | 国产黄色片免费看 | 欧美精品免费在线观看 | 久久99久久久久久 | 伊人永久 | 亚洲黄色app | 91中文在线视频 | 99视频在线免费观看 | 亚洲精品字幕 | 亚洲日本韩国一区二区 | 国产高清在线精品 | 精品一区二区在线观看 | 91伊人久久大香线蕉蜜芽人口 | 丁香六月天 | 国产精品美女久久久久久久网站 | 国内久久视频 | 天天拍天天色 | 中文字幕永久免费 | 欧美美女视频在线观看 | 夜夜操综合网 | 在线欧美中文字幕 | 99精品视频在线观看播放 | 亚洲人在线7777777精品 | 亚洲国产字幕 | 亚洲欧美色婷婷 | 欧美精品久久久久久久久久白贞 | 国产精品黄色av | 黄色com | 国产色拍拍拍拍在线精品 | 91禁看片| 波多野结依在线观看 | 一级黄色毛片 | 亚洲精品久久视频 | 91激情视频在线播放 | 日韩久久精品一区二区三区下载 | 久久久国产一区二区 | 免费观看一级视频 | 国产69精品久久久久99尤 | 久热av在线 | 三级动图| 丁香花在线观看视频在线 | 久久久久久久久久久久亚洲 | 国产黄色片网站 | 国产精选在线观看 | 欧美一二三区在线观看 | 成人久久久久久久久久 | 亚洲情感电影大片 | 国产精品久久久久久欧美 | 人人爽人人澡人人添人人人人 | 色香蕉在线视频 | 夜夜看av| 国产精品一区二区中文字幕 | 久久最新网址 | 国产艹b视频 | 国产精品久久久久久超碰 | 黄色福利 | 国产美女精品视频 | 免费网站污 | 久久草草热国产精品直播 | 久久综合婷婷综合 | 国产区精品在线观看 | 色婷婷狠狠五月综合天色拍 | 五月天丁香视频 | 国产福利91精品一区 | 国产精品精品久久久久久 | 国产婷婷一区二区 | 免费观看成年人视频 | 国产99久久99热这里精品5 | av丁香花| 热久久最新地址 | 超碰在线天天 | 欧美一级片免费在线观看 | 99在线热播精品免费 | 九九视频精品在线 | 国产综合久久 | 国产韩国精品一区二区三区 | 国产一级在线观看 | 精品九九九| 一性一交视频 | 天天曰夜夜爽 | www黄色av| 色噜噜日韩精品一区二区三区视频 | 久久精品视频免费观看 | 久久精品国产亚洲aⅴ | 福利电影久久 | 99久久婷婷国产精品综合 | 国产精品久久久电影 | 亚洲另类视频在线 | 欧美韩国日本在线 | 91成人在线观看高潮 | 日韩av电影中文字幕在线观看 | 亚洲精品动漫久久久久 | 天天操天天色天天射 | 国产在线超碰 | 日韩高清免费在线观看 | 99久久夜色精品国产亚洲 | 免费看的黄色网 | 亚洲网站在线看 | 在线视频一区观看 | 午夜10000 | 日韩在线视频线视频免费网站 | 在线亚洲播放 | 欧美极品xxx | 91中文字幕永久在线 | 亚洲人成精品久久久久 | 日韩电影中文,亚洲精品乱码 | 日韩精品第1页 | 国产亚洲免费观看 | 成人av一级片 | 97精品一区 | 亚洲欧美日韩在线一区二区 | 午夜影院日本 | 欧美午夜a| 综合伊人av | 狠狠干在线| 在线观看精品一区 | 国产日韩欧美中文 | 久久久国产一区二区三区四区小说 | 日韩av在线网站 | 97热久久免费频精品99 | 午夜精品久久久久久久久久久久 | 探花视频网站 | 91精品一区二区在线观看 | 亚洲一级久久 | 久久久久久不卡 | 免费h在线观看 | 久久视频这里有久久精品视频11 | 中文字幕在线观看资源 | 久久综合久久88 | 一区二区三区在线电影 |