• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            PKU 2488 TOJ 1702 A Knight's Journey 解題

             

             1#include<stdio.h>
             2#include<string.h>
             3int P[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};
             4struct C{int r,l;};
             5C Q[30];
             6char use[30][30];
             7int p,q,K,ans,f;
             8void di(int a,int b)
             9{
            10    if(K==ans)f=1;
            11    if(f)return;
            12    int i,r,l;
            13    for(i=0;i<8;i++)
            14    {
            15        r=a+P[i][0];
            16        l=b+P[i][1];
            17        if(r>=1 && r<=&& l>=1 && l<=&& use[r][l])
            18        {
            19            K++;
            20            use[r][l]=0;Q[K].l=l;Q[K].r=r;
            21            //if(K==ans){f=1;return;}
            22            di(r,l);
            23            if(f)return;
            24            use[r][l]=1;
            25            K--;
            26        }

            27    }

            28            
            29}

            30int main()
            31{
            32    int i,Kase,l;
            33    scanf("%d",&Kase);
            34    l=0;
            35    while(l<Kase)
            36    {
            37        memset(use,1,sizeof(use));
            38        memset(Q,0,sizeof(Q));
            39        scanf("%d%d",&q,&p);
            40        ans=p*q;
            41        K=1;f=0;
            42        Q[K].l=1;Q[K].r=1;
            43        use[1][1]=0;
            44        di(1,1);
            45        printf("Scenario #%d:\n",++l);
            46        if(!f)printf("impossible\n\n");
            47        else
            48        {
            49            for(i=1;i<=ans;i++)printf("%c%c",Q[i].r+'A'-1,Q[i].l+'0');
            50            printf("\n\n");
            51        }

            52    }

            53    return 0
            54
            55}

            56

            深度優(yōu)先搜索。
            因?yàn)樾枰憷麄€(gè)棋盤有要求遍歷的順序字典序最小。
            那么可以確定深搜的順序就是從A1開始的。
            由于p*q<=26當(dāng)期中一個(gè)為2的時(shí)候另一個(gè)大于10的時(shí)候肯定是不能遍歷的。
            所以不需要考慮B11 B9等一類出現(xiàn)時(shí)候字典序的問題了

            posted @ 2008-07-15 19:31 gong 閱讀(286) | 評論 (0)編輯 收藏

            TOJ 2232 A Friendly Game 解題

            題目很有意思。
            女生找男朋友的問題。
            以天津大學(xué)為背景,表現(xiàn)出男生比女生多的這個(gè)問題。
            解決方法就是一個(gè)簡單的dp問題了。
            data[i][j]表示還剩下i個(gè)女生j個(gè)男生。
            狀態(tài)轉(zhuǎn)移方程
            data[i][j]=max{data[i][j-1],data[i-1][j-1]+map[i][j]};

             1#include<stdio.h>
             2//#define int long long 
             3int data[600][600];
             4int map[600][600];
             5#define oo -2000000001
             6void di(int i,int j)
             7{
             8    int max;
             9    if(i==0)
            10    {
            11        data[i][j]=0;
            12        return;
            13    }

            14    if(i>j)
            15    {
            16        data[i][j]=oo-1;
            17        return;
            18    }

            19    max=oo-1;
            20    if(i-1>=0 && j-1>=0)
            21    {
            22        if(data[i-1][j-1]==oo)di(i-1,j-1);
            23        if(data[i-1][j-1]+map[i][j]>max)
            24            max=data[i-1][j-1]+map[i][j];
            25    }

            26    if(j-1>=0)
            27    {
            28        if(data[i][j-1]==oo)di(i,j-1);
            29        if(data[i][j-1]>max)
            30            max=data[i][j-1];
            31    }

            32    data[i][j]=max;
            33    return;
            34
            35}

            36int main()
            37{
            38    int i,j,n,m;
            39    while(scanf("%d%d",&n,&m))
            40    {
            41        if(n==0 && m==0)break;
            42        for(i=1;i<=n;i++)
            43            for(j=1;j<=m;j++)scanf("%d",&map[i][j]);
            44        for(i=0;i<=n;i++)
            45            for(j=0;j<=m;j++)data[i][j]=oo;
            46        di(n,m);
            47        printf("%d\n",data[n][m]);
            48    }

            49    return 0;
            50}

            51


             

            posted @ 2008-07-15 19:28 gong 閱讀(119) | 評論 (0)編輯 收藏

            TOJ 2236 Partial Sums 解題

            組合數(shù)學(xué)問題
            處理之前先對整個(gè)隊(duì)列求一個(gè)和;
            然后對每一個(gè)部分和統(tǒng)計(jì)一下
             1#include <stdio.h>
             2#include <string.h>
             3
             4int seq[100100];
             5int md[6000];
             6
             7long long jx(long long x) {
             8    return x*(x+1)/2;
             9}

            10int main() {
            11    int n, l, u;
            12    int i;
            13    int sum, m;
            14    long long res, now, best;
            15
            16    while(scanf("%d%d%d"&n, &l, &u)!=EOF) {
            17        for(i=0; i<n; i++{
            18            scanf("%d"&seq[i]);
            19        }

            20        best = (long long)-1;
            21        for(m=l; m<=u; m++{
            22            memset(md, 0sizeof(md));
            23            md[0= 1;
            24            sum = 0;
            25            for(i=0; i<n; i++{
            26                sum = (sum+seq[i])%m;
            27                md[sum] ++;
            28            }

            29            now = 0;
            30            for(i=0; i<m; i++{
            31                now += jx((long long)(md[i]-1));
            32            }

            33            //printf("%d: %I64d\n", m, now);
            34            if(now > best) {
            35                best = now;
            36                res = m;
            37            }

            38        }

            39        printf("%d\n", res);
            40    }

            41    return 0;
            42}

            43
            44

            posted @ 2008-07-15 19:24 gong 閱讀(159) | 評論 (0)編輯 收藏

            TOJ 2234 A+B In the Future 解題

            就是高精度的題目
            用java做比較簡潔
             1import java.util.*;
             2import java.math.*;
             3
             4public class Main {
             5
             6   public static void main (String[] args) {
             7       Scanner cin=new Scanner (System.in);
             8    while (cin.hasNext())
             9    {
            10        String ysa;
            11        String ysb;
            12        String sa=cin.next();
            13        if (sa.charAt(0)=='+')
            14            ysa=sa.substring(1);
            15        else
            16            ysa=sa;
            17            
            18        BigInteger a=new BigInteger(ysa,16);
            19        String sb=cin.next();
            20        if (sb.charAt(0)=='+')
            21            ysb=sb.substring(1);
            22        else
            23            ysb=sb;
            24        BigInteger b=new BigInteger(ysb,16);
            25        
            26        if (a.compareTo(b)==0 && a.compareTo(BigInteger.ZERO)==0)
            27            break;
            28        if (a.compareTo(b)< 0)
            29            System.out.println(sa+" "+sb);
            30        else
            31            System.out.println(sb+" "+sa);
            32        BigInteger ans=a.add(b);
            33        if (ans.signum()>=0)
            34            System.out.print('+');
            35        System.out.println(ans.toString(16).toUpperCase());
            36      
            37    }

            38 
            39    }

            40}
                
            41

            posted @ 2008-07-15 19:21 gong 閱讀(146) | 評論 (0)編輯 收藏

            TOJ 1075 Stockbroker Grapevine 解題

            最短路徑問題。
            用Floyd-Warshall算法就好。
            #include<stdio.h>
            #include
            <string.h>
            int map[110][110];
            int main()
            {
                
            int n,i,j,k,m,s,t,best,ans,a,b,max;
                
            while(scanf("%d",&n),n)
                
            {
                    memset(map,
            3,sizeof(map));
                
            //    printf("%d",map[0][0]);
                    for(i=1;i<=n;i++)
                    
            {
                        scanf(
            "%d",&m);
                        
            for(j=0;j<m;j++)
                        
            {
                            scanf(
            "%d%d",&a,&b);
                            map[i][a]
            =b;
                        }

                    }

            /*
                    for(i=1;i<=n;i++)
                    {
                        for(j=1;j<=n;j++)
                            printf("%d ",map[i][j]);
                        printf("\n");
                    }
            */

                        
            for(k=1;k<=n;k++)
                            
            for(s=1;s<=n;s++)
                                
            for(t=1;t<=n;t++)
                                    
            if(map[s][t]>map[s][k]+map[k][t])
                                        map[s][t]
            =map[s][k]+map[k][t];
                        best
            =map[0][0];ans=0;
                        
            for(i=1;i<=n;i++)
                        
            {
                            max
            =0;
                            
            for(j=1;j<=n;j++)if(i!=&& map[i][j]>max)max=map[i][j];
                            
            //printf("***%d\n",max);
                            if(max < best)
                            
            {
                                best 
            = max;
                                ans
            =i;
                            }

                        }

                        
            if(best!=map[0][0])printf("%d %d\n",ans,best);
                        
            else printf("disjoint\n");
                }

                
            return 0;
            }



            posted @ 2008-07-15 19:19 gong 閱讀(157) | 評論 (0)編輯 收藏

            TOJ 1073 Smith Numbers 解題報(bào)告

             

             1#include<stdio.h>
             2#include<string.h>
             3char a[40010];
             4int b[5000],c[5000];
             5int main()
             6{
             7    int i, j, n, t, l1, l2,f;
             8    memset(a, 1sizeof(a));
             9    memset(b, 0sizeof(b));
            10    for(i = 2;i <= 200;i++)
            11      if(a[i])
            12      {
            13          t = 40000/i;
            14          for(j = 2;j <= t;j++) a[i * j] = 0;
            15      }

            16    t = 0;
            17    for(i = 2;i <= 40000;i++)
            18      if(a[i])
            19      {
            20          b[t] = i;
            21          n=i;
            22          c[t]=0;
            23          while(n)
            24          {
            25             c[t]+=n%10;
            26             n/=10;
            27          }
                
            28          t++;
            29      }

            30    //printf("%d\n",c[0]);
            31    while(scanf("%d",&n),n)
            32    {
            33        while(n++)
            34        {
            35        i=0;f=0;
            36        while(b[i]*b[i]<=n)
            37        {
            38            if(n%b[i++]==0){f=1;break;}
            39        }

            40        if(f==0)continue;
            41        i=0;t=n;l1=0;l2=0;
            42        while(t)
            43        {
            44            l1+=t%10;
            45            t/=10;
            46        }

            47        t=n;i=0;
            48        while(b[i]*b[i]<=t)
            49        {
            50            while(t && t%b[i]==0)
            51            {
            52                l2+=c[i];
            53                t/=b[i];
            54            }

            55            i++;
            56        }

            57    //    printf("%d %d\n",t,n);
            58        if(t>1)
            59        while(t)
            60        {
            61            l2+=t%10;
            62            t/=10;
            63        }

            64        //printf("%d %d %d\n",n,l1,l2);
            65        if(l1==l2)break;
            66        }

            67        printf("%d\n",n);
            68    }

            69    return 0;
            70}

            71
            72

            先把20000以內(nèi)的質(zhì)數(shù)都求出來
            然后枚舉每一個(gè)數(shù)把它變成質(zhì)數(shù)的和然后把那個(gè)數(shù)字自己也拆分就可以了就是一個(gè)簡單的枚舉和模擬。

            posted @ 2008-07-15 19:16 gong 閱讀(208) | 評論 (0)編輯 收藏

            TOJ 1070 Ouroboros Snake 解題

            方法感覺寫起來有點(diǎn)像寬搜。
            就是每次生成就好了
             1#include<stdio.h>
             2#include<string.h>
             3int s[33000],use[33000],now[33000],data[16][33000];
             4int n,n2,p,q,v,f,i,k;
             5int main()
             6{
             7    for(n=2;n<=15;n++)
             8    {
             9        n2=1<<n;
            10        memset(use,0,sizeof(use));
            11        p=q=0;
            12        s[p++]=0;
            13        while(p>0)
            14        {
            15            v=s[p-1];
            16            for(f=0;f<2;f++)
            17                if(!use[(v<<1)+f])break;
            18                if(f>=2){now[q++]=v;p--;}
            19                else
            20                {
            21                    use[(v<<1)+f]=1;
            22                    s[p++= ((v<<1+ f ) & ((n2>>1-1);
            23                }

            24        }

            25          for(int i=0;i<n2;i++
            26          data[n][i]=(now[n2-i]<<1| (now[n2-i-1]);
            27    }

            28    data[1][0]=0;data[1][1]=1;
            29    while(scanf("%d%d",&n,&k),n)printf("%d\n",data[n][k]);
            30    return 0;
            31}

            32

            posted @ 2008-07-15 19:13 gong 閱讀(179) | 評論 (0)編輯 收藏

            Toj 1069 Erdos Numbers 解題

            這個(gè)題目就是一個(gè)bfs的問題。在數(shù)據(jù)讀取上需要稍加處理。
            toj和poj的數(shù)據(jù)都有一個(gè)不是很符合規(guī)矩然后造成我這個(gè)題re了好多次。
            期中有一個(gè)數(shù)據(jù)在最后一個(gè)人名結(jié)束后跟著一個(gè)空格然后是:這樣我每次讀取判斷最后一個(gè)是:結(jié)束就錯(cuò)了
              1#include<vector>
              2#include<map>
              3#include<iostream>
              4#include<string>
              5#include<string.h>
              6using namespace std;
              7struct C{int p,ans;};
              8vector<int> data[11000];
              9map<string,int> name;
             10int use[11000];
             11C Q[11000];
             12char str[300];
             13int paper[300];
             14string a,b;
             15int main()
             16{
             17    int n,m,l=0,i,head,tail,L,l1,NO,j,f,KASE=0;
             18    //freopen("erdos.in","r",stdin);
             19    //freopen("erdos.txt","w",stdout);
             20    string nn;
             21    nn="Erdos*P.";
             22    while(1){
             23    scanf("%d%d",&n,&m);
             24    if(n==0&&m==0)break;
             25    l=0;
             26    for(i=0;i<10000;i++)data[i].clear();
             27    name.clear();
             28    memset(use,-1,sizeof(use));
             29    memset(Q,0,sizeof(Q));
             30    l=0;
             31    while(n--)
             32    {
             33        f=0;NO=0;
             34        while(1)
             35        {
             36            scanf("%s",str);
             37            l1=strlen(str);
             38            str[l1-1]='*';
             39            a=str;
             40            scanf("%s",str);
             41            l1=strlen(str);
             42            if(str[l1-1]==':')f=1;
             43            if(str[l1-1]=='.')f=1;
             44            str[l1-1]=0;
             45            a=a+str;
             46            if(name.count(a)==0)
             47            {
             48                name[a]=l++;
             49                //cout << a << endl;
             50            }

             51            paper[NO++]=name[a];
             52            if(f)
             53            {
             54                gets(str);
             55                //str=getline();
             56                break;
             57            }

             58        }

             59        
             60        for(i=0;i<NO;i++)
             61            for(j=0;j<NO;j++)if(i!=j)data[paper[i]].push_back(paper[j]);
             62    }

             63    if(name.count(nn)==0)name[nn]=l++;
             64    Q[0].p=name[nn];
             65    Q[0].ans=0;
             66    use[name[nn]]=0;
             67    head=tail=0;
             68    tail++;
             69    while(head!=tail)
             70    {
             71        L=Q[head].p;
             72        l=data[L].size();
             73        for(i=0;i<l;i++)
             74            if(use[data[L][i]]==-1)
             75            {
             76                use[data[L][i]]=Q[head].ans+1;
             77                Q[tail].p=data[L][i];
             78                Q[tail++].ans=Q[head].ans+1;
             79            }
                
             80        head++;
             81    }

             82    printf("Database #%d\n",++KASE);
             83    while(m--)
             84    {
             85            
             86            scanf("%s",str);
             87            printf("%s ",str);
             88            l1=strlen(str);
             89            str[l1-1]='*';
             90            a=str;
             91            scanf("%s",str);
             92            printf("%s: ",str);
             93            a=a+str;
             94            if(name.count(a)==0)printf("infinity\n");
             95            else if(use[name[a]]==-1)printf("infinity\n");
             96            else printf("%d\n",use[name[a]]);
             97    }

             98    printf("\n");
             99    }

            100    return 0;
            101}

            102
            103
            104

            posted @ 2008-07-15 19:09 gong 閱讀(314) | 評論 (0)編輯 收藏

            ACM中使用JAVA的介紹

            Chapter I.

            Java的優(yōu)缺點(diǎn)各種書上都有,這里只說說用Java做ACM-ICPC的特點(diǎn):

            (1) 最明顯的好處是,學(xué)會(huì)Java,可以參加Java Challenge   :)
            (2) 對于熟悉C/C++的程序員來說,Java 并不難學(xué),找本書,一兩周業(yè)余時(shí)間就可以搞定了。當(dāng)然,這里只是指一般編程,想熟悉所有的Java庫還是需要些時(shí)間的。
                 事實(shí)上,Java 只相當(dāng)于C++的一個(gè)改進(jìn)版,所有的語法都幾乎是C++的,很少有變動(dòng)。
            (3) 在一般比賽中,Java程序會(huì)有額外的時(shí)間和空間,而實(shí)際上經(jīng)過實(shí)驗(yàn),在執(zhí)行計(jì)算密集任務(wù)的時(shí)候Java并不比C/C++慢多少,只是IO操作較慢而已。
            (4) Java 簡單而功能強(qiáng)大,有些東西用Java實(shí)現(xiàn)起來更為方便,比如高精度。
            (5) 用Java不易犯細(xì)微的錯(cuò)誤,比如C/C++中的指針, “if (n = m) ... ” 等
            (6) 目前來看Eclipse已成基本配置,寫Java程序反而比C/C++更方便調(diào)試。在具體競賽時(shí)也算多一種選擇。
            (7) 學(xué)會(huì)Java對以后工作有好處。現(xiàn)在國外很多地方會(huì)Java的人比會(huì)C/C++的人多。
            (8) 會(huì)Java可以使你看起來更像偶蹄類動(dòng)物(牛)     hoho~


            Chapter II.

            下面說一下ACM-ICPC隊(duì)員初用Java編程所遇到的一些問題:

            1. 基本輸入輸出:

            (1)
            JDK 1.5.0 新增的Scanner類為輸入提供了良好的基礎(chǔ),簡直就是為ACM-ICPC而設(shè)的。

            一般用法為:

            import java.io.*
            import java.util.*

            public class Main
            {
                 public static void main(String args[])
                 {
                     Scanner cin = new Scanner(new BufferedInputStream(System.in));
                     ...
                 }
            }

            當(dāng)然也可以直接 Scanner cin = new Scanner(System.in);
            只是加Buffer可能會(huì)快一些

            (2)
            讀一個(gè)整數(shù):   int n = cin.nextInt();         相當(dāng)于   scanf("%d", &n);   或 cin >> n;
            讀一個(gè)字符串:String s = cin.next();         相當(dāng)于   scanf("%s", s);     或 cin >> s;
            讀一個(gè)浮點(diǎn)數(shù):double t = cin.nextDouble();   相當(dāng)于   scanf("%lf", &t); 或 cin >> t;
            讀一整行:     String s = cin.nextLine();     相當(dāng)于   gets(s);           或 cin.getline(...);
            判斷是否有下一個(gè)輸入可以用 cin.hasNext() 或 cin.hasNextInt() 或 cin.hasNextDouble() 等,具體見 TOJ 1001 例程。

            (3)
            輸出一般可以直接用 System.out.print() 和 System.out.println(),前者不輸出換行,而后者輸出。
            比如:System.out.println(n);   // n 為 int 型
            同一行輸出多個(gè)整數(shù)可以用
                 System.out.println(new Integer(n).toString() + " " + new Integer(m).toString());

            也可重新定義:

            static PrintWriter cout = new PrintWriter(new BufferedOutputStream(System.out));
            cout.println(n);

            (4)
            對于輸出浮點(diǎn)數(shù)保留幾位小數(shù)的問題,可以使用DecimalFormat類,

            import java.text.*;
            DecimalFormat f = new DecimalFormat("#.00#");
            DecimalFormat g = new DecimalFormat("0.000");
            double a = 123.45678, b = 0.12;
            System.out.println(f.format(a));
            System.out.println(f.format(b));
            System.out.println(g.format(b));

            這里0指一位數(shù)字,#指除0以外的數(shù)字。


            2. 大數(shù)字

            BigInteger 和 BigDecimal 是在java.math包中已有的類,前者表示整數(shù),后者表示浮點(diǎn)數(shù)

            用法:
            不能直接用符號如+、-來使用大數(shù)字,例如:

            (import java.math.*)   // 需要引入 java.math 包

            BigInteger a = BigInteger.valueOf(100);
            BigInteger b = BigInteger.valueOf(50);
            BigInteger c = a.add(b)   // c = a + b;

            主要有以下方法可以使用:
            BigInteger add(BigInteger other)
            BigInteger subtract(BigInteger other)
            BigInteger multiply(BigInteger other)
            BigInteger divide(BigInteger other)
            BigInteger mod(BigInteger other)
            int compareTo(BigInteger other)
            static BigInteger valueOf(long x)

            輸出大數(shù)字時(shí)直接使用 System.out.println(a) 即可。


            3. 字符串

            String 類用來存儲(chǔ)字符串,可以用charAt方法來取出其中某一字節(jié),計(jì)數(shù)從0開始:

            String a = "Hello";     // a.charAt(1) = ’e’

            用substring方法可得到子串,如上例

            System.out.println(a.substring(0, 4))     // output "Hell"

            注意第2個(gè)參數(shù)位置上的字符不包括進(jìn)來。這樣做使得 s.substring(a, b) 總是有 b-a個(gè)字符。

            字符串連接可以直接用 + 號,如

            String a = "Hello";
            String b = "world";
            System.out.println(a + ", " + b + "!");     // output "Hello, world!"

            如想直接將字符串中的某字節(jié)改變,可以使用另外的StringBuffer類。


            4. 調(diào)用遞歸(或其他動(dòng)態(tài)方法)

            在主類中 main 方法必須是 public static void 的,在 main 中調(diào)用非static類時(shí)會(huì)有警告信息,
            可以先建立對象,然后通過對象調(diào)用方法:

            public class Main
            {
                 ...

                 void dfs(int a)
                 {
                     if (...) return;
                     ...
                     dfs(a+1);
                 }
                
                 public static void main(String args[])
                 {
                     ...
                     Main e = new Main();
                     e.dfs(0);
                     ...
                 }
            }

            5. 其他注意的事項(xiàng)

            (1) Java 是面向?qū)ο蟮恼Z言,思考方法需要變換一下,里面的函數(shù)統(tǒng)稱為方法,不要搞錯(cuò)。

            (2) Java 里的數(shù)組有些變動(dòng),多維數(shù)組的內(nèi)部其實(shí)都是指針,所以Java不支持fill多維數(shù)組。
                 數(shù)組定義后必須初始化,如 int[] a = new int[100];

            (3) 布爾類型為 boolean,只有true和false二值,在 if (...) / while (...) 等語句的條件中必須為boolean類型。
                 在C/C++中的 if (n % 2) ... 在Java中無法編譯通過。

            (4) 下面在java.util包里Arrays類的幾個(gè)方法可替代C/C++里的memset、qsort/sort 和 bsearch:

            Arrays.fill()
            Arrays.sort()
            Arrays.binarySearch() 

            posted @ 2008-07-15 19:02 gong 閱讀(168) | 評論 (0)編輯 收藏

            Toj 2248 Channel Design 解題報(bào)告

                 摘要: 【題意分析】 給一個(gè)有向圖求最小生成樹。由于是有向圖所以prim和kruskal是不能解決的。這里涉及到一個(gè)求有向圖最小生成樹的算法叫做最小樹形圖。 【算法分析】 1.把這個(gè)圖消去自環(huán) 2.給除了根以外的每個(gè)點(diǎn)找到一個(gè)最小的入邊 3.如果這個(gè)最小入邊集中不含有向環(huán)的話我們就可以證明這個(gè)集合就是該圖的最小生成樹了。 4.如果存在有向環(huán)的話,我們就將這個(gè)有向環(huán)整體看做一個(gè)頂點(diǎn),同時(shí)改變圖中...  閱讀全文

            posted @ 2008-07-15 12:36 gong 閱讀(190) | 評論 (0)編輯 收藏

            僅列出標(biāo)題
            共5頁: 1 2 3 4 5 
            <2009年7月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(6)

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品亚洲福利| 亚洲天堂久久精品| 伊人久久精品无码av一区| 久久SE精品一区二区| 97久久超碰成人精品网站| 国产成人精品久久亚洲高清不卡| 国产精品va久久久久久久| 久久人人爽人爽人人爽av| 亚洲∧v久久久无码精品| 久久99热这里只有精品国产| 伊人久久大香线蕉亚洲| 日本道色综合久久影院| 亚洲精品无码久久久久sm| 久久91精品综合国产首页| 亚洲国产另类久久久精品黑人| 狠狠综合久久综合中文88| 久久久无码精品亚洲日韩蜜臀浪潮| 国产69精品久久久久99尤物| 亚洲精品tv久久久久久久久| 久久久久久A亚洲欧洲AV冫| 免费观看成人久久网免费观看| 国内精品伊人久久久久777| 国内精品久久久久久久亚洲| 久久66热人妻偷产精品9| 亚洲人成伊人成综合网久久久| 久久本道久久综合伊人| 久久精品国产精品国产精品污 | 亚洲精品美女久久久久99| 国产成人综合久久久久久| 亚洲AV日韩精品久久久久| 久久无码国产专区精品| 亚洲国产视频久久| 亚洲欧美国产日韩综合久久| 久久精品国产99久久丝袜| 国产精品免费久久| 久久99精品久久久久久水蜜桃| 精品午夜久久福利大片| 久久亚洲精品中文字幕三区| 久久精品视频免费| 久久996热精品xxxx| 久久涩综合|