??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久午夜精品,久久男人Av资源网站无码软件 ,人妻丰满AV无码久久不卡http://www.shnenglu.com/csu-yx-2013/category/18789.htmlAlgorithm Study And So Onzh-cnFri, 13 Sep 2013 01:08:29 GMTFri, 13 Sep 2013 01:08:29 GMT60uva 327 - Evaluating Simple C Expressionshttp://www.shnenglu.com/csu-yx-2013/archive/2012/07/10/182587.htmlyxyxTue, 10 Jul 2012 04:05:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2012/07/10/182587.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/182587.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2012/07/10/182587.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/182587.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/182587.html比如Q表辑ּ c+f--+--aQ得出值是9Q其它变量的g需要计出来?/span>   
   q个题目感觉比较ȝQ刚开始一Ҏ\也没有,q写了个错误的方法,费了时间?br />   后面我的思\?Q?Q?Q?Q?-Q?+Q(变量Q(--Q?+Q,q个匚w式子的意思是先处理二元操作符Q然后处理前|,再处理变量,
再处理后|,如果发现没有后置操作W,则把d的数据重新写回数据流里面Q下ơ再处理?br />
   代码如下Q?span style="font-size: 13px; color: #008080; "> 

  1 #include <stdio.h> 
  2 #include <string.h>
  3 #include <sstream>
  4 #include <algorithm>
  5 using namespace std;
  6 struct INFO
  7 {
  8     char ch;
  9     int nValue;
 10     char chAdd;
 11     bool operator < (const INFO& info) const
 12     {
 13         return ch < info.ch;
 14     }
 15 };
 16 
 17 INFO infos[200];
 18 char szLine[200];
 19 
 20 bool GetNextChar(stringstream& ss, char& ch)
 21 {
 22     while (ss >> ch)
 23     {
 24         if (ch != ' ');
 25         {
 26             return true;
 27         }
 28     }
 29     return false;
 30 }
 31 
 32 int main()
 33 {
 34     while (gets(szLine))
 35     {
 36         printf("Expression: %s\n", szLine);
 37         memset(infos, 0, sizeof(infos));
 38         stringstream ss(szLine);
 39         char ch;
 40         int nNum = 0;
 41         int nValue = 0;
 42         char chOper;
 43         bool bOk = true;
 44         bool bFirst = true;
 45         while (1)
 46         {
 47             if (bFirst)
 48             {
 49                 chOper = '+';
 50                 bFirst = false;
 51             }
 52             else
 53             {
 54                 bOk = GetNextChar(ss, ch);
 55                 if (!bOk) break;
 56                 chOper = ch;
 57             }
 58 
 59             bOk = GetNextChar(ss, ch);
 60             if (!bOk) break;
 61 
 62             if (ch == '-')//前置--
 63             {
 64                 bOk = GetNextChar(ss, ch);
 65                 if (!bOk) break;//-
 66                 bOk = GetNextChar(ss, ch);
 67                 if (!bOk) break;//d字母
 68 
 69                 infos[nNum].ch = ch;
 70                 infos[nNum].nValue = ch - 'a';
 71 
 72                 if (chOper == '+')
 73                 {
 74                     nValue += infos[nNum].nValue;
 75                 }
 76                 else
 77                 {
 78                     nValue -= infos[nNum].nValue;
 79                 }
 80                 ++nNum;
 81             }
 82             else if (ch == '+')//前置++
 83             {
 84                 bOk = GetNextChar(ss, ch);
 85                 if (!bOk) break;//+
 86                 bOk = GetNextChar(ss, ch);
 87                 if (!bOk) break;//d字母
 88 
 89                 infos[nNum].ch = ch;
 90                 infos[nNum].nValue = ch - 'a' + 2;
 91 
 92                 if (chOper == '+')
 93                 {
 94                     nValue += infos[nNum].nValue;
 95                 }
 96                 else
 97                 {
 98                     nValue -= infos[nNum].nValue;
 99                 }
100                 ++nNum;
101             }
102             else
103             {
104                 infos[nNum].ch = ch;
105                 infos[nNum].nValue = ch - 'a' + 1;
106 
107                 if (chOper == '+')
108                 {
109                     nValue += infos[nNum].nValue;
110                 }
111                 else
112                 {
113                     nValue -= infos[nNum].nValue;
114                 }
115 
116                 //d后置操作W?/span>
117                 char chOne;
118                 char chTwo;
119                 bOk = GetNextChar(ss, chOne);
120                 if (!bOk)
121                 {
122                     ++nNum;
123                     break;
124                 }
125                 bOk = GetNextChar(ss, chTwo);
126                 if (!bOk)
127                 {
128                     ++nNum;
129                     break;
130                 }
131 
132                 if (chOne == chTwo)
133                 {
134                     if (chOne == '+')
135                     {
136                         infos[nNum].chAdd = '+';
137                     }
138                     else
139                     {
140                         infos[nNum].chAdd = '-';
141                     }
142                 }
143                 else
144                 {
145                     ss.putback(chTwo);
146                     ss.putback(chOne);
147                 }
148                 ++nNum;
149             }
150         }
151 
152         printf("    value = %d\n", nValue);
153         sort(infos, infos + nNum);
154         for (int i = 0; i < nNum; ++i)
155         {
156             if (infos[i].chAdd == '+')
157             {
158                 infos[i].nValue++;
159             }
160             else if (infos[i].chAdd == '-')
161             {
162                 infos[i].nValue--;
163             }
164             printf("    %c = %d\n", infos[i].ch, infos[i].nValue);
165         }
166     }
167 
168     return 0;
169 }
170 


yx 2012-07-10 12:05 发表评论
]]>
uva 10177 - (2/3/4)-D Sqr/Rects/Cubes/Boxes?http://www.shnenglu.com/csu-yx-2013/archive/2012/04/14/171391.htmlyxyxSat, 14 Apr 2012 13:00:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2012/04/14/171391.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/171391.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2012/04/14/171391.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/171391.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/171391.html
      Fig: A 4x4 Grid                         Fig: A 4x4x4 Cube 


   q是一道数学题吧。想清楚之后发现就是求累加和?br />   问题是给定一个正方Ş(?体)Q求其中的所有的正方??体),长方??体)?nbsp;比如Q? * 4的正方Ş中,?4个正方ŞQ?br />22个长方ŞQ? * 4 * 4的立方体中有36个正方体Q?80个长方体。依ơ类推,正方体指的是四l空间?br />   观察一下一?*4正方形中Q仔l验证一下就会发玎ͼ正方形的个数?nbsp;Σ(4 - i + 1) * (4 - i + 1)(其中i??)Q长方Ş的个数是 
Σ(4 - i + 1) (其中j??) * Σ(4 - j + 1)(其中j??)。如果变?l的多一层kQk也从1变化?。如果变?l的再多一层lQ?br />l也从1变化??br />   然后变换一下,可以得到s2(n) = 1^1 + 2^2 + ... + n^nQs3(n)则是对立方的累加和,s4(n)则是对四ơ方的篏加和?br />   再计r2(n)。可以先把正方Ş包括在内计算出所有的和。那么r2(n) = Σ(n - i + 1) * Σ(n - j + 1) - s2(n)。如果直接进行这个式?br />的求和话很复杂。再观察一下这个式子,因ؓn - i + 1的变化范围就?到nQ那么上面的式子可以变化?r2(n) = ΣΣi * j - s2(n)?br />意思是求i*j的和Qi和j都是?变化到n。很单就可以得到r2(n) = pow(n * (n + 1) / 2, 2) - s2(n)。同L求和可以得到Q?br />r3(n) = pow(n * (n + 1) / 2, 3) - s3(n)。r4(n) = pow(n * (n + 1) / 2, 4) - s4(n)?br />   另外如果不知道^方和Q立方和Q四ơ方和的公式Q也可以q代计算Q复杂度也是O(100)。这L话,Ҏ不需要用这些难记忆的公式了?br />
   代码如下Q?br />   
#include <stdio.h> 
#include <math.h>
unsigned long long s2[101];
unsigned long long r2[101];
unsigned long long s3[101];
unsigned long long r3[101];
unsigned long long s4[101];
unsigned long long r4[101];

int main()
{
    unsigned long long i = 0;
    while (i <= 100)
    {
        s2[i] = i * (i + 1) * (2 * i + 1) / 6;//qx?/span>
        s3[i] = i * i * (i + 1) * (i + 1) / 4;//立方?/span>
        s4[i] = i * (i + 1) * (6 * i * i * i + 9 * i * i + i - 1) / 30;//四次方和
        r2[i] = pow(i * (i + 1) / 2, 2) - s2[i];
        r3[i] = pow(i * (i + 1) / 2, 3) - s3[i];
        r4[i] = pow(i * (i + 1) / 2, 4) - s4[i];
        ++i;
    }
    
    int nN;
    while (scanf("%d", &nN) != EOF)
    {
        //printf("%I64u %I64u %I64u %I64u %I64u %I64u\n", s2[nN], r2[nN], s3[nN], r3[nN], s4[nN], r4[nN]);
        printf("%llu %llu %llu %llu %llu %llu\n", s2[nN], r2[nN], s3[nN], r3[nN], s4[nN], r4[nN]);
    }
    
    return 0;
}


yx 2012-04-14 21:00 发表评论
]]>
CSU OJ - 1219: 建食?(所有结炚w的最短\?http://www.shnenglu.com/csu-yx-2013/archive/2011/12/04/161448.htmlyxyxSun, 04 Dec 2011 14:20:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/12/04/161448.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/161448.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/12/04/161448.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/161448.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/161448.htmlhttp://acm.csu.edu.cn/OnlineJudge/problem.php?id=1219

q个?/a>是求出所有结点的距离之后,再找出某个结?该结点离其它l点的最大距L所有结点中是最的...
解法1:深搜出所有结炚w的距?但是会超?即深搜的过E用中记忆化搜?是?l数l保存已l搜出的{案,如果后面的搜索需要用到直接用即?...
解法2:Floyd法,3重@环直接找出所有结点之间的最短距?br />解法3:Ҏ一个结点应用一ơ_杰斯Ҏ法,扑և所有结点与其它l点间的最短距?..

解法2:
#include <stdio.h>
#include <string.h>
#define MAX  (100 + 10)
#define INF (1000000 + 10)
int nN, nM;
int nDis[MAX][MAX];
void SearchAll()
{
    for (int k = 0; k < nN; ++k)
    {
        for (int i = 0; i < nN; ++i)
        {   
            for (int j = 0; j < nN; ++j)
            {
                if (nDis[i][k] + nDis[k][j] < nDis[i][j])
                {
                    nDis[i][j] = nDis[j][i] = nDis[i][k] + nDis[k][j];
                }
            }
        }
    }
}
int main()
{
    while (scanf("%d%d", &nN, &nM) == 2)
    {
        for (int i = 0; i < nN; ++i)
        {
            for (int j = 0; j < nN; ++j)
            {
                if (i == j)
                {
                    nDis[i][j] = 0;
                }
                else
                {
                    nDis[i][j] = INF;
                }
            }
        }
        while (nM--)
        {
            int nX, nY, nK;
            scanf("%d%d%d", &nX, &nY, &nK);
            nDis[nX][nY] = nDis[nY][nX] = nK;
        }
        SearchAll();
        bool bOk = false;
        int nMin = 1 << 30;
        
        for (int i = 0; i < nN; ++i)
        {
            int nTemp = 0;
            int j = 0;
            for ( ; j < nN; ++j)
            {
                if (i == j) continue;
                if (nDis[i][j] == INF)
                {
                    break;
                }
                else
                {
                    if (nDis[i][j] > nTemp)
                    {
                        nTemp = nDis[i][j];
                    }
                }
            }
            if (j == nN)
            {
                bOk = true;
                if (nTemp < nMin)
                {
                    nMin = nTemp;
                }
            }
        }
        
        if (bOk)
        {
            printf("%d\n", nMin);
        }
        else
        {
            printf("Can not\n");
        }
    }
    return 0;
}

关于Floyd法,可以q样理解...比如刚开始只?个结点i,j,它们的距M定是dis(i,j),但是q有其它l点,需要把其它l点也慢慢加q来,所以最外层关于k的@环意思就是从0至nN-1,把所有其它结点加q来,比如加入0L点后,距离dis(i,0)+dis(0,j)可能会比dis(i,j)?如果是这样就更新dis(i,j),然后后面加入1L点的时?实际上是在已l加?L点的基础上进行的处理?效果变成dis(i,0,1,j),可能是最的,而且中间?,1也可能是不存在的,当然是在dis(i,j)原本是最的情况?..
q个法可以用下面这个图片描q?..


解法3:
#include <stdio.h>
#include <string.h>
#define MAX  (100 + 10)
#define INF (1000000 + 10)
int nN, nM;
int nDis[MAX][MAX];
void Search(int nSource)
{
    bool bVisit[MAX];
    memset(bVisit, false, sizeof(bVisit));
    bVisit[nSource] = true;
    for (int i = 0; i < nN - 1; ++i)
    {
        int nMin = INF;
        int nMinPos = 0;
        for (int j = 0; j < nN; ++j)
        {
            if (!bVisit[j] && nDis[nSource][j] < nMin)
            {
                nMin = nDis[nSource][j];
                nMinPos = j;
            }
        }
        if (bVisit[nMinPos] == false)
        {
            bVisit[nMinPos] = true;
            for (int j = 0; j < nN; ++j)
            {
                if (nDis[nSource][nMinPos] + nDis[nMinPos][j] < nDis[nSource][j])
                {
                    nDis[nSource][j] = nDis[nSource][nMinPos] + nDis[nMinPos][j];
                }
            }
        }
    }
}
void SearchAll()
{
    for (int k = 0; k < nN; ++k)
    {
        Search(k);
    }
}
int main()
{
    while (scanf("%d%d", &nN, &nM) == 2)
    {
        for (int i = 0; i < nN; ++i)
        {
            for (int j = 0; j < nN; ++j)
            {
                if (i == j)
                {
                    nDis[i][j] = 0;
                }
                else
                {
                    nDis[i][j] = INF;
                }
            }
        }
        while (nM--)
        {
            int nX, nY, nK;
            scanf("%d%d%d", &nX, &nY, &nK);
            nDis[nX][nY] = nDis[nY][nX] = nK;
        }
        SearchAll();
        bool bOk = false;
        int nMin = 1 << 30;
        for (int i = 0; i < nN; ++i)
        {
            int nTemp = 0;
            int j = 0;
            for ( ; j < nN; ++j)
            {
                if (i == j) continue;
                if (nDis[i][j] == INF)
                {
                    break;
                }
                else
                {
                    if (nDis[i][j] > nTemp)
                    {
                        nTemp = nDis[i][j];
                    }
                }
            }
            if (j == nN)
            {
                bOk = true;
                if (nTemp < nMin)
                {
                    nMin = nTemp;
                }
            }
        }
        if (bOk)
        {
            printf("%d\n", nMin);
        }
        else
        {
            printf("Can not\n");
        }
    }
    return 0;
}
q杰斯特拉算法的核心思想是维护一个源炚w炚w?M最短\径一定是从这个顶炚w合发出的...
初始化时,q个集合是源点...
我们从该其它l点中选出一个结?该结点到源点的距L?..
昄,q个距离是源点到该l点的最短距M,我们已经扑ֈ了答案的一部分?..然后,我们把该结点加入前面所说的点集合...
现在点集合更新?我们必须得更新距M...׃新加入的l点可能发出边得原来源点到某些l点的距L?也就是我们的源点变大?边也变多?所以我们的最短距集合的g必须变化?..
该算法一直@环nN-1?直至所有的炚w加入源点点集合...


yx 2011-12-04 22:20 发表评论
]]>
POJ癄 - 1183:反正切函数的应用http://www.shnenglu.com/csu-yx-2013/archive/2011/11/24/160849.htmlyxyxWed, 23 Nov 2011 16:47:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/24/160849.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/160849.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/24/160849.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/160849.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/160849.htmlhttp://poj.grids.cn/practice/1183/

Ҏ1:
本题很容易推断出,a = (b*c-1)/(b+c), ׃需要求(b+c)的最?Ҏ高中的函数思想,如果(b+c)能够转换为关于b或者c的函数就好办?刚好q里已经有个b和c的关pd子了,可以推导?b+c) = (c^2+1)/(c-a),q个时候只需要求f(c)的最?但是c必须取整?对这个函数可以求?也可以进行变?变Ş后可以得到f(c) = (c-a)
+ 2*a + (a^2+1)/(c-a),令x=c-a,那么可以得到(b+c)=f(x)=x+2*a+(a^2+1)/x, 其中x必须是整?到现在ؓ止就是一个用E序模拟高中时候学q的双曲U函数的求最值问题了,我们知道该函数的极值点是sqrt(a^2+1),但是׃x必须是整?我们必须从极值开始往下和往上找C个最?然后?者中的最?..
q样q个题就解出来了...

代码:
#include <stdio.h>
#include <iostream>
#include <math.h>
//b + c = (c^2 + 1) / (c - a) = (c-a) + (2 * a) + (a^2 + 1) / (c -a)
//令c-a = t, f(t) = t + 2*a + (a^2+1)/ t
//因ؓf(t)在sqrt(a^2+1)时取最?但是׃t只能取整?
//所?必须从极值点往下和往上寻找最的?然后?者中最的
int main()
{
    long long a;
    while (std::cin >> a)
    {
        long long nTemp = a * a + 1;
        long long nDown =  sqrt(nTemp);
        long long nUp = nDown;
        long long one, two;
        
        while (nTemp % nDown )
        {
            nDown--;
        }
        one = 2 * a + nTemp / nDown + nDown;
 
        while (nTemp % nUp )
        {
            nUp++;
        }
        two = 2 * a + nTemp / nUp + nUp;
        
        std::cout << (one < two ? one : two) << std::endl;
    }
    return 0;
}

Ҏ2:
#include <stdio.h>
#include <iostream>
#include <math.h>

//a = (b*c-1)/(b+c)
//令b = a + m, c = a + n, c >= b
//-> a*(2*a+m+n) = (a+m)*(a+n)-1
//m*n = a^2 + 1  (n>=m)
//所?求出a^2+1所有因子对,取其中m+n最的卛_
int main()
{
    long long a;
    while (std::cin >> a)
    {
        long long m, n;
        long long nTemp = a * a + 1;
        long long nMax = sqrt(nTemp);
        long long nRes = 1 + nTemp;
        for (m = 2; m <= nMax; ++m)
        {
            if (nTemp % m == 0)
            {
                n = nTemp / m;
                if (m + n < nRes)
                {
                    nRes = m + n;
                }
            }
        }
        
        std::cout << 2 * a + nRes << std::endl;
    }
    return 0;
}


yx 2011-11-24 00:47 发表评论
]]>
CSU OJ - 1207: 镇管的难?判断一正整数是否可能是直角?http://www.shnenglu.com/csu-yx-2013/archive/2011/11/20/160588.htmlyxyxSun, 20 Nov 2011 15:09:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/20/160588.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/160588.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/20/160588.html#Feedback3http://www.shnenglu.com/csu-yx-2013/comments/commentRss/160588.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/160588.htmlhttp://acm.csu.edu.cn/OnlineJudge/problem.php?id=1207

问题描述是:l定一个大?的整?span style="font-family: 'Courier New', monospace; line-height: normal; text-indent: 27px; background-color: #ebebeb; ">N(1<=N<=10^8),判断其是否可能是一个直角三角Ş的直角边(q个三角形的三条边必都是整?...
q个题还是做得我挺郁L。。。刚开始完全没思\。。。后面没办法Q硬着头皮往下想Q对于勾股定理a^2 + b^2 = c^2,假设N是a,
可以得到a^2 = (c + b) * (c -b), 那么(c+b)?c-b)是a^2?个因?而且(c+b)>=a,(c-b)<=a。。?br />到这一步已l可以用E序L解决出来?但是对于L一个整数N来说,其复杂度都是O(N),那么计算量还是很大的...
q个时候只需要枚?-N,求出a^2?个因?然后求c和b,如果能得出c和b都是正整数那?满x件了...
但是q样q是q不了题,因ؓ数据量不会这么小...数据量好像有10000l。。?br />那么q需要推导出q一步的l论...
因ؓ1和a^2一定是a^2的一对因?那么(c+b) = a^2?c-b) = 1一定可以成?
则可以推导出,2*c = a^2 + 1;
要c可解,a必须为奇?那么可以推导出如果a是奇?一定是直角边了。。?br />如果a是偶C,可以化简?*(a/2)^2 = 4*Qc+b)*(c-b) = (2c+2b)*(2c-2b) = a^2,那么l箋推导也可以得CLl果?..


l论是:对于大于{于3的正整数都可以是一条直角边(>=3也可以根据上面的c和b是正整数推导出来)...


yx 2011-11-20 23:09 发表评论
]]>
POJ癄 - 2820:古代密码 AND POJ癄 - 2801:填词http://www.shnenglu.com/csu-yx-2013/archive/2011/11/18/160452.htmlyxyxFri, 18 Nov 2011 08:04:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/18/160452.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/160452.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/18/160452.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/160452.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/160452.htmlhttp://poj.grids.cn/practice/2820
链接: http://poj.grids.cn/practice/2801

为啥?/a>q?个不相干的题目放在一起了...说实话这其实也是二个Ҏ的题?其W二个更Ҏ惛_...W一个也许暂?br />没那么容易想出来。。?br />而且感觉W一个古代密码还挺有意思的...判断一个字W串是否能够通过UM和替换方法加密成另外一个字W串。。?br />至于W二?各位ȝ看题目吧。。?br />也是个解法跟题目不大相关的题目。。?br />q?个题最大的特点和共同点是解法和题目意思想ȝq。。?br />所以我觉得做这U二丈和摸不早头脑的题,思维应该往跟题意背ȝ方向思考。。?br />
其W一个题Q如果只看代?即代码可读性再好,也不知道代码有何意义Q有何目的,跟题意有啥关pR。?br />不过W一个居然轻松AC?虽然?b得搞了个ce和re出来?..
W一个的转换Ҏ?计算出现的字W?A'-'Z'的出现次?然后从大排?如果针对加密后的字符串得到的l果一直大于等?br />加密前的字符串得到的l果,表明{案是YES...具体q是看代码吧...

#include <stdio.h>
#include <string.h>
#include <algorithm>

using std::sort;
bool Greater(int one, int two)
{
    return one > two;
}

int main()
{
    char szOne[110];
    char szTwo[110];
    int nNumOne[26];
    int nNumTwo[26];
    
    while (scanf("%s%s", szOne, szTwo) == 2)
    {
        memset(nNumOne, 0, sizeof(int) * 26);
        memset(nNumTwo, 0, sizeof(int) * 26);
        
        char* psz = szOne;
        while (*psz)
        {
            ++nNumOne[*psz - 'A'];
            ++psz;
        }
        psz = szTwo;
        while (*psz)
        {
            ++nNumTwo[*psz - 'A'];
            ++psz;
        }
        sort(nNumOne, nNumOne + 26, Greater);
        sort(nNumTwo, nNumTwo + 26, Greater);
        bool bIsYes = true;
        for (int i = 0; i < 26; ++i)
        {
            if (nNumOne[i] < nNumTwo[i])
            {
                bIsYes = false;
                break;
            }
        }
        if (bIsYes)
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }
    }
    
    return 0;
}


yx 2011-11-18 16:04 发表评论
]]>
POJ癄 - 2804:词典http://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160256.htmlyxyxWed, 16 Nov 2011 05:52:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160256.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/160256.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160256.html#Feedback1http://www.shnenglu.com/csu-yx-2013/comments/commentRss/160256.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/160256.htmlhttp://poj.grids.cn/practice/2804/

q?/a>也是一个很单的题目,大家一看都知道用什么方法了,当然如果是查扄?序查找是不行的,
Ҏ一,是用map,建立个map<string, string>的字?注意不要惛_然用map<char*, char*>,
那样得动态分配内?或者还是先开个大数组存好字典,其结果还是多费了内?..
排序+二分也不错的,因ؓ数据量确实很?而且题目也徏议用c的io输入,所以这样再建立map<string, string>
中间q得转换一?..
M做这个题q是很顺利的,wa了一?原因?分写错了,我也很久没在oj上写2分了...

代码如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>

#define MAX_WORD_LEN 11
#define MAX_DICTION_ITEM (100000 + 10)

using std::sort;

struct Dictionary
{
    char szWord[MAX_WORD_LEN];
    char szEnglish[MAX_WORD_LEN];
};

Dictionary diction[MAX_DICTION_ITEM];

bool CmpDictionItem(Dictionary one, Dictionary two)
{
    return strcmp(one.szWord, two.szWord) < 0;
}

int FindEnglish(char* pszWord, int nItemNum)
{
    int nBeg = 0, nEnd = nItemNum - 1;
    int nCmp = 0;
    
    while (nBeg <= nEnd)
    {
        int nMid = (nBeg + nEnd) / 2;
        nCmp = strcmp(pszWord, diction[nMid].szWord);
        if (nCmp == 0)
        {
            return nMid;
        }
        else if (nCmp < 0)
        {
            nEnd = nMid - 1;
        }
        else
        {
            nBeg = nMid + 1;
        }
    }
    
    return -1;
}

int main()
{
    char szStr[30];
    char szWord[MAX_WORD_LEN];
    int nCount = 0;
    int nAnsItem = 0;
    
    while (fgets(szStr, 29, stdin), szStr[0] != '\n')
    {
        sscanf(szStr, "%s%s", diction[nCount].szEnglish, diction[nCount].szWord);
        ++nCount;
    }
    sort(diction, diction + nCount, CmpDictionItem);
    while (scanf("%s", szWord) == 1)
    {
        if ((nAnsItem = FindEnglish(szWord, nCount)) != -1)
        {
            printf("%s\n", diction[nAnsItem].szEnglish);
        }
        else
        {
            printf("eh\n"); 
        }
    }
    
    return 0;
}

其实我的主要目的是ؓ了指Z分的写法,大家看我的FindEnglish函数,传递的是数l的地址和数l的长度,
然后我写函数体的时候用的是[]的Ş?是下确?上确?q样最重要的是需要考虑循环的条件是<q是
<=,其实q也很好判断,因ؓ上界和下界都能够取到,所?是成立的...而且修改right的时?必须right = mid - 1,
原因也是因ؓq是上确?
但是如果是上不确界了,那么{号必d?而且right也只能修改ؓmid,因ؓmid-1是界?而mid才是上不界...
惛_q个E度的话,以后写只有唯一解二分就应该不会出错?..但是写查找满x件的最大或者最解的二分还需要其它技?..


yx 2011-11-16 13:52 发表评论
]]>
POJ癄 - 2964:日历问题http://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160249.htmlyxyxWed, 16 Nov 2011 05:09:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160249.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/160249.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/16/160249.html#Feedback2http://www.shnenglu.com/csu-yx-2013/comments/commentRss/160249.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/160249.htmlhttp://poj.grids.cn/practice/2964/

q?/a>本来是一个简单的题目,但是q是值得我用一文章的位置。大安做过闰年的题?q只是闰q的一个升U版。。。本来我不至于这么纠l这个题目的,一看到题目,
我就考虑C一ơ次减去天数来加q数和月?而且我还惛_d数据之前初始化一个存?000-9999q每q有多少天得数组...q样可以避免@环时候计每q的天数?..但是我还是怕时间不?所以我惛_了个O(1)的算?..
那就是按照题目的说明,其实?00是一个周期的,但是我前面写代码的时候把4q当中一个小周期,100q当中一个中周期,400q当中一个大周期,同样的处理了...
事实?只能?00作ؓ周期处理,其它的必dc讨?虽然代码写出来很复杂,而且我也因ؓ出现q个bug错了无数?但是我还是感觉非常值得?..因ؓq是我独立思考的成果,耗费了多时间和_֊倒是无所?..写算法题,目的不仅仅应该是学习了多个法,而是在于能力的提?个h的严谨?思考问题的完整性等{?..一直觉得自己思考问题时候有创意,但是完整性和严}性很?..

下面贴我的代码吧,只用?0ms,如果采用W一U方法则需?0ms-70ms...
#include <stdio.h>

#define SMALL (365 * 3 + 366)
#define MID   (SMALL * 25 - 1)
#define BIG (MID * 4 + 1)

char* pszWeekdays[7] =
{
    "Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"
};

int nDaysOfMon[2][13] =
{
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};

void GetMonthAndDay(int nDays, bool bIsLeap, int* nMon, int* nDay)
{
    int nChoose = 0;
    int i = 0;

    if (bIsLeap)
    {
        nChoose = 1;
    }
    *nMon = *nDay = 0;
    i = 1;
    while (nDays > nDaysOfMon[nChoose][i])
    {
        nDays -= nDaysOfMon[nChoose][i];
        ++i;
    }
    *nMon = i;
    *nDay = nDays;
}

void CountSmall(int* pnDays, int* pnPastYears, int* pnMon, int* pnDay)
{
    if (*pnDays >= 3 * 365)//4
    {
        *pnPastYears += 3;
        *pnDays -= 365 * 3;
        GetMonthAndDay(*pnDays + 1, true, pnMon, pnDay);
    }
    else//1-3
    {
        *pnPastYears += *pnDays / 365;
        *pnDays %= 365;
        GetMonthAndDay(*pnDays + 1, false, pnMon, pnDay);
    }
}

int main()
{
    int nPastDays = 0;
    int nPastYears = 0;
    int nYear = 0, nMon = 0, nDay = 0;

    while (scanf("%d", &nPastDays), nPastDays != -1)
    {
        int nTemp = nPastDays;
        nPastYears = 0;

        if (nTemp < 366)
        {
            GetMonthAndDay(nTemp + 1, true, &nMon, &nDay);
            nPastYears = 0;
        }
        else
        {
            nPastYears++;
            nTemp -= 366;

            nPastYears += (nTemp / BIG) * 400;
            nTemp %= BIG;

            if (nTemp >= MID * 3)//301-400q??为周?
            {
                nTemp -= MID * 3;
                nPastYears += 300;

                nPastYears += nTemp / SMALL * 4;
                nTemp %= SMALL;

                CountSmall(&nTemp, &nPastYears, &nMon, &nDay);
            }
            else//1-300q?/span>
            {
                nPastYears += nTemp / MID * 100;
                nTemp %= MID;

                if (nTemp >= SMALL * 24)//97-100q?4个^q?
                {
                    nTemp -= SMALL * 24;
                    nPastYears += 4 * 24;

                    nPastYears += nTemp / 365;
                    nTemp %= 365;
                    GetMonthAndDay(nTemp + 1, false, &nMon, &nDay);

                }
                else//1-96q?/span>
                {
                    nPastYears += nTemp / SMALL * 4;
                    nTemp %= SMALL;

                    CountSmall(&nTemp, &nPastYears, &nMon, &nDay);
                }
            }
        }
        printf("%d-%02d-%02d %s\n", nPastYears + 2000, nMon, nDay, pszWeekdays[nPastDays % 7]);
    }

    return 0;
}


yx 2011-11-16 13:09 发表评论
]]>
POJ癄 - 2818:密码http://www.shnenglu.com/csu-yx-2013/archive/2011/11/10/159934.htmlyxyxThu, 10 Nov 2011 12:56:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/10/159934.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/159934.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/10/159934.html#Feedback4http://www.shnenglu.com/csu-yx-2013/comments/commentRss/159934.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/159934.htmlhttp://poj.grids.cn/practice/2818
q其实就是一个简单的UM密码法?只是多了个@环而已,密码学里面也指出q@环运是没有效果?所以题目估计也p察了这一?如果没有扑և循环周期,此题会一直超时的...
刚开?我就直接模拟Kơ加?昄时?当时q不信了,以ؓ单至此。。?br />后面我就开始改q了,刚开始是把周期计和加密攑֜一起写?样例也过?但是q是一直错...
没办法再?我改成把周期求出?再对加密ơ数K取模?再进行运?..
好吧,q是一样wa,后面变成PE了。。?br />最?q个题经q我q?个小时的奋战,l于q了,一共错了近10ơ吧...W一ơ提交是距现?个多时前了...
最后发现错误的原因q是换行输出的地斚w?题目要求是每一l中间有个空?我则输出的是每次计算后有个空?..
实在无语...
思维不严谨啊...

代码:
#include <stdio.h>
#include <string.h>
#define N_MAX 200 + 10
int main()
{
    int nN = 0;
    int nNArr[N_MAX];//密钥
    int nK = 0;
    char szMsg[N_MAX];
    char szMsgBckup[N_MAX];//字符串备?/div>
    int nCir[N_MAX];//周期
    int nMsgLen = 0;
    int nPos = 0;
    int i, j;
    
    while (scanf("%d", &nN), nN != 0)
    {
        for (i = 1; i <= nN; ++i)
        {
            scanf("%d", &nNArr[i]);
        }
        
        for (i = 1; i <= nN; ++i)//计算周期
        {
            nPos = i;
            for (j = 1; ; ++j)
            {
                nPos = nNArr[nPos];
                if (nPos == i)
                {
                    nCir[i] = j;
                    break;
                }
            }
        }
        
        while (scanf("%d", &nK), nK != 0)
        {
            getchar();//销掉空?/div>
            gets(szMsg + 1);
            nMsgLen = strlen(szMsg + 1);
            for (i = nMsgLen; i < nN; ++i)
            {
                szMsg[1 + i] = ' ';
            }
            szMsg[1 + nN] = '\0';
            strcpy(szMsgBckup + 1, szMsg + 1);
            
            for (i = 1; i <= nN; ++i)
            {
                nPos = i;
                int nTimes = nK % nCir[i];
                for (j = 1; j <= nTimes; ++j)
                {
                    nPos = nNArr[nPos];
                }
                szMsg[nPos] = szMsgBckup[i];
            }
            
            printf("%s\n", szMsg + 1);
        }
        printf("\n");
    }
    
    return 0;
}


yx 2011-11-10 20:56 发表评论
]]>POJ癄 - 1017:装箱问题http://www.shnenglu.com/csu-yx-2013/archive/2011/11/08/159833.htmlyxyxTue, 08 Nov 2011 12:15:00 GMThttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/08/159833.htmlhttp://www.shnenglu.com/csu-yx-2013/comments/159833.htmlhttp://www.shnenglu.com/csu-yx-2013/archive/2011/11/08/159833.html#Feedback0http://www.shnenglu.com/csu-yx-2013/comments/commentRss/159833.htmlhttp://www.shnenglu.com/csu-yx-2013/services/trackbacks/159833.htmlhttp://poj.grids.cn/practice/1017

说实?/a>q就是个单的装箱子问?很容易想清楚装箱子的q程,而且q个q程是满心算法的,
所以只需要用代码模拟整个装箱子的q程卛_,但是q样真的p够了吗?Q?
我刚开始就是用代码模拟q个手动q程?虽然AC?但是代码?50行左?逻辑也显得过于复杂了,
得不偿失。。。整个过E是6*6的一个占一个箱?5*5的也必须一个占一个箱?但是需要补11?*1?
4*4的也是一个占一个箱?但是需要补5?*2?如果2*2的不_,则用1*1的代?
3*3?个占一个箱?但是会有余数,可能余下1,2,3?*3的箱?q个时候必非情况考虑,
1?*3的需要和5?*2?7?*1的组?2?*3的需要和3?*2?6?*1的组?
3?*3的需要和1?*2?5?*1的组?最后考虑9?*2的装一个箱?多余?*2?*1的去填充量挤满一个箱?
最?6?*1的装一个箱?余下?*1的也必须占一个箱子。。?br />q个q程说出来已l非常复杂了,更何는代码?我费了九牛二虎之力才写出?WA了一ơ才AC?..

代码:
#include <stdio.h>
int main()
{
    int one, two, three, four, five, six;
    int num = 0;
    
    while (scanf("%d%d%d%d%d%d", &one, &two, &three, &four, &five, &six) == 6)
    {
        if (one == 0 && two == 0 && three == 0 && four == 0 && five == 0 && six == 0)
        {
            break;
        }
        
        num = six;
        num += five;
        if (one > five * 11)
        {
            one -= five * 11;
        }
        else
        {
            one = 0;
        }
        
        num += four;
        if (two > four * 5)
        {
            two -= four * 5;
        }
        else
        {
            if (one > four * 5 * 4 - two * 4)
            {
                one -= four * 5 * 4 - two * 4;
            }
            else
            {
                one = 0;
            }
            two = 0;
        }
        
        num += three / 4;
        three = three % 4;
        if (three == 1)
        {
            if (two > 5)
            {
                two -= 5;
                if (one > 7)
                {
                    one -= 7;
                }
                else
                {
                    one = 0;
                }
            }
            else
            {
                if (one > 27 - two * 4)
                {
                    one -= 27 - two * 4;
                }
                else
                {
                    one = 0;
                }
                two = 0;
            }
            ++num;
        }
        
        if (three == 2)
        {
            if (two > 3)
            {
                two -= 3;
                if (one > 6)
                {
                    one -= 6;
                }
                else
                {
                    one = 0;
                }
            }
            else
            {
                if (one > 18 - two * 4)
                {
                    one -= 18 - two * 4;
                }
                else
                {
                    one = 0;
                }
                two = 0;
            }
            ++num;
        }
        
        if (three == 3)
        {
            if (two > 1)
            {
                two -= 1;
                if (one > 5)
                {
                    one -= 5;
                }
                else
                {
                    one = 0;
                }
            }
            else
            {
                if (one > 9 - two * 4)
                {
                    one -= 9 - two * 4;
                }
                else
                {
                    one = 0;
                }
                two = 0;
            }
            ++num;
        }
        
        num += two / 9;
        two = two % 9;
        if (two)
        {
            if (one > 36 - two * 4)
            {
                one -= 36 - two * 4;
            }
            else
            {
                one = 0;
            }
            ++num;
        }
        
        num += one / 36;
        if (one % 36)
        {
            ++num;
        }
        
        printf("%d\n", num);
    }
    
    return 0;
}


q样的写法显然不好吧。。。首?余下1,2,3?*3时候需要填几个2*2的可以存储在数组里面,q样可以不用写重复代码?
如果再从整体考虑余下多少个格?׃用用贪心法模拟装箱子的q程了。。?br />代码如下:
#include <stdio.h>
int main()
{
    int one, two, three, four, five, six;
    int num = 0;
    int twoPlace[4] = {0, 5, 3, 1};
    int remTwo, remOne;
    
    while (scanf("%d%d%d%d%d%d", &one, &two, &three, &four, &five, &six) == 6)
    {
        if (one == 0 && two == 0 && three == 0 && four == 0 && five == 0 && six == 0)
        {
            break;
        }
        
        num = six + five + four + (three + 3) / 4;
        remTwo = four * 5 + twoPlace[three % 4];
        if (two > remTwo)
        {
            num += (two - remTwo + 8) / 9;
        }
        
        remOne = 36 * num - 36 * six - 25 * five - 16 * four - 9 * three - 4 * two;
        if (one > remOne)
        {
            num += (one - remOne + 35) / 36;
        }
        
        printf("%d\n", num);
    }
    
    return 0;
}


yx 2011-11-08 20:15 发表评论
]]>
POJ癄 - 2808:校门外的?/title><link>http://www.shnenglu.com/csu-yx-2013/archive/2011/11/07/159746.html</link><dc:creator>yx</dc:creator><author>yx</author><pubDate>Mon, 07 Nov 2011 05:27:00 GMT</pubDate><guid>http://www.shnenglu.com/csu-yx-2013/archive/2011/11/07/159746.html</guid><wfw:comment>http://www.shnenglu.com/csu-yx-2013/comments/159746.html</wfw:comment><comments>http://www.shnenglu.com/csu-yx-2013/archive/2011/11/07/159746.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/csu-yx-2013/comments/commentRss/159746.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/csu-yx-2013/services/trackbacks/159746.html</trackback:ping><description><![CDATA[<div><div><div><ul style="margin-top: 15px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">链接Q?a >http://poj.grids.cn/practice/2808 <br /></a><br />Ҏ1(I间换时?Q?br /><div><div>#include <stdio.h></div><div></div><div></div><div>int main()</div><div>{</div><div>    int L, M;</div><div>    int nTrees[10005] = {0};</div><div>    int start, end;</div><div>    int nCount = 0;</div><div>    </div><div>    scanf("%d%d", &L, &M);</div><div>    while (M--)</div><div>    {</div><div>        scanf("%d%d", &start, &end);</div><div>        for (int i = start; i <= end; ++i)</div><div>        {</div><div>            nTrees[i] = 1;</div><div>        }</div><div>    }</div><div>    </div><div>    for (int i = 0; i <= L; ++i)</div><div>    {</div><div>        if (nTrees[i] == 0)</div><div>        {</div><div>            nCount++;</div><div>        }</div><div>    }</div><div>    </div><div>    printf("%d\n", nCount);</div><div>    return 0;</div><div>}</div></div><div style="color: #231f17; font-family: 'Lucida Grande', Verdana, 'Bitstream Vera Sans', Arial, sans-serif; "></div>Ҏ2(合ƈ区间)Q?br />思想是将所有区间存储在数组里面,Ҏ有区间以下限为标准排?然后从头臛_扫描区间数组,<br />合ƈ区间的方法是Q当前区间初始化为第一个区?然后判断下一个区间的下限是否已经过当前区间的上?如果是这L?无法l合q了,那么ql已l合q区间的长度,重新开始一ơ新的合q?否则的话,下一个区间合q到当前区间h。。?br /><div><div>#include <stdio.h></div><div>#include <stdlib.h></div><div></div><div>#define M_MAX 100 + 2</div><div></div><div>struct Area{</div><div>    int start;</div><div>    int end;</div><div>};</div><div></div><div>int CompareArea(const void *elem1, const void *elem2)</div><div>{</div><div>    return ((Area*)elem1)->start - ((Area*)elem2)->start;</div><div>}</div><div></div><div>int main()</div><div>{</div><div>    Area area[M_MAX], temp;</div><div>    int L = 0;</div><div>    int M = 0;</div><div>    int count = 0;</div><div>    scanf("%d%d", &L, &M);</div><div>    for (int i = 0; i < M; ++i)</div><div>    {</div><div>        scanf("%d%d", &area[i].start, &area[i].end);</div><div>    }</div><div>    qsort(area, M, sizeof(Area), CompareArea);</div><div>    </div><div>    temp = area[0];</div><div>    for (int i = 1; i < M; ++i)</div><div>    {</div><div>        if (area[i].start <= temp.end)</div><div>        {</div><div>            if (area[i].end > temp.end)</div><div>            {</div><div>                temp.end = area[i].end;</div><div>            }</div><div>        }</div><div>        else</div><div>        {</div><div>            count += temp.end - temp.start + 1;</div><div>            temp = area[i];</div><div>        }</div><div>    }</div><div>    count += temp.end - temp.start + 1;</div><div>    </div><div>    printf("%d\n", L + 1 - count);</div><div>    </div><div>    return 0;</div><div>}</div></div><div></div>整个法的时间复杂度?O(M * logM) + O(M)...</ul></div></div> </div> <a ></a><img src ="http://www.shnenglu.com/csu-yx-2013/aggbug/159746.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/csu-yx-2013/" target="_blank">yx</a> 2011-11-07 13:27 <a href="http://www.shnenglu.com/csu-yx-2013/archive/2011/11/07/159746.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.dgzcwdlaw.cn" target="_blank">ŷ龫Ʒþþþ</a>| <a href="http://www.55542.com.cn" target="_blank">žžþþƷר</a>| <a href="http://www.novagroup.com.cn" target="_blank">Ĺ˾Ʒþ޾ƷA뾫Ʒ </a>| <a href="http://www.printinginfo.com.cn" target="_blank">ۺϾþþþ</a>| <a href="http://www.vtkh.cn" target="_blank">91Ʒɫ۾þ</a>| <a href="http://www.huangjisoo.cn" target="_blank">ɫþþþۺ</a>| <a href="http://www.myrtv.cn" target="_blank">볬鱬Ļþ </a>| <a href="http://www.woman365.cn" target="_blank">þòӰ</a>| <a href="http://www.frwg.net.cn" target="_blank">ȾþùþƷ </a>| <a href="http://www.chengrenshop.com.cn" target="_blank">97Ʒ˾þþô߽97</a>| <a href="http://www.foxconm.cn" target="_blank">ҹҹݺݾþö</a>| <a href="http://www.91hid.cn" target="_blank">þ㽶һëƬ</a>| <a href="http://www.hfpump.com.cn" target="_blank">þ97㽶</a>| <a href="http://www.tonyifu.cn" target="_blank">޾Ʒþһ</a>| <a href="http://www.blog060422.cn" target="_blank">ƷŮþþ</a>| <a href="http://www.gh688.cn" target="_blank">ڸþþþþ</a>| <a href="http://www.axtea2007.cn" target="_blank">ԭۺϾþ</a>| <a href="http://www.hljfucai.cn" target="_blank">ٸþþþþþþþ</a>| <a href="http://www.shecb2b.com.cn" target="_blank">ƷþþþþþĻ</a>| <a href="http://www.fjqcbks.cn" target="_blank">ŷսþþþþþþ</a>| <a href="http://www.110xi.cn" target="_blank">þۺɫ</a>| <a href="http://www.hantong168.com.cn" target="_blank">Ʒþ㽶߿ۿ</a>| <a href="http://www.eu0i.cn" target="_blank">һþۺ³³ŷһ </a>| <a href="http://www.yookou.cn" target="_blank">þݺҹҹվ</a>| <a href="http://www.a2302.cn" target="_blank">þþƷ</a>| <a href="http://www.furuike.com.cn" target="_blank">þþþƷһ</a>| <a href="http://www.hedaji.cn" target="_blank">þþƷһ</a>| <a href="http://www.xmjbjd.cn" target="_blank">þۺϾþۺϾþ</a>| <a href="http://www.cdmt.org.cn" target="_blank">þþƷ}Ů</a>| <a href="http://www.pareng.cn" target="_blank">ҹþþӰԺ</a>| <a href="http://www.yinliduo.cn" target="_blank">˾þһ</a>| <a href="http://www.gzzmlhlaw.cn" target="_blank">ŷ龫Ʒþþþþþþžž</a>| <a href="http://www.xhlwd.cn" target="_blank">99reþùƷҳ</a>| <a href="http://www.lxyizhixiu.cn" target="_blank">þþƷ99þþ</a>| <a href="http://www.uzhp.cn" target="_blank">þþƷרѶ</a>| <a href="http://www.zqz6251.cn" target="_blank">þ޹ӰԺ</a>| <a href="http://www.gqfsm.cn" target="_blank">97Ʒ˾þþô߽</a>| <a href="http://www.qkmp4.cn" target="_blank">99þۺϹƷ</a>| <a href="http://www.you-yong.com.cn" target="_blank">ĻþþƷ</a>| <a href="http://www.zgwlptw.cn" target="_blank">Ʒ99þþþƷ</a>| <a href="http://www.0757vd.cn" target="_blank">69Ʒþþþùۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>