锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区久久精品无码,久久r热这里有精品视频,久久久噜噜噜久久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姣斿錛岃〃杈懼紡 c+f--+--a錛屽緱鍑哄兼槸9錛屽叾瀹冨彉閲忕殑鍊間篃闇瑕佽綆楀嚭鏉ャ?/span>   
   榪欎釜棰樼洰鎰熻姣旇緝楹葷儲錛屽垰寮濮嬩竴鐐規濊礬涔熸病鏈夛紝榪樺啓浜嗕釜閿欒鐨勬柟娉曪紝嫻垂浜嗘椂闂淬?br />   鍚庨潰鎴戠殑鎬濊礬鏄?錛?錛?錛?錛?-錛?+錛夛紙鍙橀噺錛夛紙--錛?+錛夛紝榪欎釜鍖歸厤寮忓瓙鐨勬剰鎬濇槸鍏堝鐞嗕簩鍏冩搷浣滅錛岀劧鍚庡鐞嗗墠緗紝鍐嶅鐞嗗彉閲忥紝
鍐嶅鐞嗗悗緗紝濡傛灉鍙戠幇娌℃湁鍚庣疆鎿嶄綔絎︼紝鍒欐妸璇誨彇鐨勬暟鎹噸鏂板啓鍥炴暟鎹祦閲岄潰錛屼笅嬈″啀澶勭悊銆?br />
   浠g爜濡備笅錛?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;//璇誨彇瀛楁瘝
 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;//璇誨彇瀛楁瘝
 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                 //璇誨彇鍚庣疆鎿嶄綔絎?/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 


   榪欐槸涓閬撴暟瀛﹂鍚с傛兂娓呮涔嬪悗灝卞彂鐜板氨鏄眰绱姞鍜屻?br />   闂鏄粰瀹氫竴涓鏂瑰艦(浣?瓚呬綋)錛屾眰鍏朵腑鐨勬墍鏈夌殑姝f柟褰?浣?瓚呬綋),闀挎柟褰?浣?瓚呬綋)銆?nbsp;姣斿錛? * 4鐨勬鏂瑰艦涓紝鏈?4涓鏂瑰艦錛?br />22涓暱鏂瑰艦錛? * 4 * 4鐨勭珛鏂逛綋涓湁36涓鏂逛綋錛?80涓暱鏂逛綋銆備緷嬈$被鎺紝瓚呮鏂逛綋鎸囩殑鏄洓緇寸┖闂淬?br />   瑙傚療涓涓嬩竴涓?*4姝f柟褰腑錛屼粩緇嗛獙璇佷竴涓嬪氨浼氬彂鐜幫紝姝f柟褰㈢殑涓暟鏄?nbsp;Σ(4 - i + 1) * (4 - i + 1)(鍏朵腑i浠?鍒?)錛岄暱鏂瑰艦鐨勪釜鏁版槸 
Σ(4 - i + 1) (鍏朵腑j浠?鍒?) * Σ(4 - j + 1)(鍏朵腑j浠?鍒?)銆傚鏋滃彉鎴?緇寸殑灝卞涓灞俴錛宬涔熶粠1鍙樺寲鍒?銆傚鏋滃彉鎴?緇寸殑灝卞啀澶氫竴灞俵錛?br />l涔熶粠1鍙樺寲鍒?銆?br />   鐒跺悗鍙樻崲涓涓嬶紝灝卞彲浠ュ緱鍒皊2(n) = 1^1 + 2^2 + ... + n^n錛宻3(n)鍒欐槸瀵圭珛鏂圭殑绱姞鍜岋紝s4(n)鍒欐槸瀵瑰洓嬈℃柟鐨勭瘡鍔犲拰銆?br />   鍐嶈綆梤2(n)銆傚彲浠ュ厛鎶婃鏂瑰艦鍖呮嫭鍦ㄥ唴璁$畻鍑烘墍鏈夌殑鍜屻傞偅涔坮2(n) = Σ(n - i + 1) * Σ(n - j + 1) - s2(n)銆傚鏋滅洿鎺ヨ繘琛岃繖涓紡瀛?br />鐨勬眰鍜岃瘽寰堝鏉傘傚啀瑙傚療涓涓嬭繖涓紡瀛愶紝鍥犱負n - i + 1鐨勫彉鍖栬寖鍥村氨鏄?鍒皀錛岄偅涔堜笂闈㈢殑寮忓瓙鍙互鍙樺寲涓?r2(n) = ΣΣi * j - s2(n)銆?br />鎰忔濇槸姹俰*j鐨勫拰錛宨鍜宩閮芥槸浠?鍙樺寲鍒皀銆傚緢綆鍗曞氨鍙互寰楀埌r2(n) = pow(n * (n + 1) / 2, 2) - s2(n)銆傚悓鏍風殑姹傚拰鍙互寰楀埌錛?br />r3(n) = pow(n * (n + 1) / 2, 3) - s3(n)銆俽4(n) = pow(n * (n + 1) / 2, 4) - s4(n)銆?br />   鍙﹀濡傛灉涓嶇煡閬撳鉤鏂瑰拰錛岀珛鏂瑰拰錛屽洓嬈℃柟鍜岀殑鍏紡錛屼篃鍙互榪唬璁$畻錛屽鏉傚害涔熸槸O(100)銆傝繖鏍風殑璇濓紝鏍規湰涓嶉渶瑕佷嬌鐢ㄨ繖浜涢毦璁板繂鐨勫叕寮忎簡銆?br />
   浠g爜濡備笅錛?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;//騫蟲柟鍜?/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: 寤洪鍫?(鎵鏈夌粨鐐歸棿鐨勬渶鐭礬寰?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

榪欎釜棰?/a>灝辨槸姹傚嚭鎵鏈夌粨鐐圭殑璺濈涔嬪悗,鍐嶆壘鍑烘煇涓粨鐐?璇ョ粨鐐圭鍏跺畠緇撶偣鐨勬渶澶ц窛紱繪槸鎵鏈夌粨鐐逛腑鏄渶灝忕殑...
瑙f硶1:娣辨悳鍑烘墍鏈夌粨鐐歸棿鐨勮窛紱?浣嗘槸浼氳秴鏃?鍗充嬌娣辨悳鐨勮繃紼嬩嬌鐢ㄤ腑璁板繂鍖栨悳绱?灝辨槸鐢?緇存暟緇勪繚瀛樺凡緇忔悳鍑虹殑絳旀,濡傛灉鍚庨潰鐨勬悳绱㈤渶瑕佺敤鍒扮洿鎺ヤ嬌鐢ㄥ嵆鍙?...
瑙f硶2:Floyd綆楁硶,3閲嶅驚鐜洿鎺ユ壘鍑烘墍鏈夌粨鐐逛箣闂寸殑鏈鐭窛紱?br />瑙f硶3:瀵規瘡涓涓粨鐐瑰簲鐢ㄤ竴嬈¤開鏉版柉鐗規媺綆楁硶,鎵懼嚭鎵鏈夌粨鐐逛笌鍏跺畠緇撶偣闂寸殑鏈鐭窛紱?..

瑙f硶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綆楁硶,鍙互榪欐牱鐞嗚В...姣斿鍒氬紑濮嬪彧鍙?涓粨鐐筰,j,瀹冧滑鐨勮窛紱諱竴瀹氭槸dis(i,j),浣嗘槸榪樻湁鍏跺畠緇撶偣,闇瑕佹妸鍏跺畠緇撶偣涔熸參鎱㈠姞榪涙潵,鎵浠ユ渶澶栧眰鍏充簬k鐨勫驚鐜剰鎬濆氨鏄粠0鑷硁N-1,鎶婃墍鏈夊叾瀹冪粨鐐瑰姞榪涙潵,姣斿鍔犲叆0鍙風粨鐐瑰悗,璺濈dis(i,0)+dis(0,j)鍙兘浼氭瘮dis(i,j)灝?濡傛灉鏄繖鏍峰氨鏇存柊dis(i,j),鐒跺悗鍚庨潰鍔犲叆1鍙風粨鐐圭殑鏃跺?瀹為檯涓婃槸鍦ㄥ凡緇忓姞鍏?鍙風粨鐐圭殑鍩虹涓婅繘琛岀殑澶勭悊浜?鏁堟灉鍙樻垚dis(i,0,1,j),鍙兘鏄渶灝忕殑,鑰屼笖涓棿鐨?,1涔熷彲鑳芥槸涓嶅瓨鍦ㄧ殑,褰撶劧鏄湪dis(i,j)鍘熸湰灝辨槸鏈灝忕殑鎯呭喌涓?..
榪欎釜綆楁硶鍙互鐢ㄤ笅闈㈣繖涓浘鐗囨弿榪?..


瑙f硶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;
}
榪澃鏂壒鎷夌畻娉曠殑鏍稿績鎬濇兂鏄淮鎶や竴涓簮鐐歸《鐐歸泦鍚?浠諱綍鏈鐭礬寰勪竴瀹氭槸浠庤繖涓《鐐歸泦鍚堝彂鍑虹殑...
鍒濆鍖栨椂,榪欎釜闆嗗悎灝辨槸婧愮偣...
鎴戜滑浠庤鍏跺畠緇撶偣涓夊嚭涓涓粨鐐?璇ョ粨鐐瑰埌婧愮偣鐨勮窛紱繪渶灝?..
鏄劇劧,榪欎釜璺濈灝辨槸婧愮偣鍒拌緇撶偣鐨勬渶鐭窛紱諱簡,鎴戜滑宸茬粡鎵懼埌浜嗙瓟妗堢殑涓閮ㄥ垎浜?..鐒跺悗,鎴戜滑灝辨妸璇ョ粨鐐瑰姞鍏ュ墠闈㈡墍璇寸殑欏剁偣闆嗗悎...
鐜板湪欏剁偣闆嗗悎鏇存柊浜?鎴戜滑蹇呴』寰楁洿鏂拌窛紱諱簡...鐢變簬鏂板姞鍏ョ殑緇撶偣鍙兘鍙戝嚭杈逛嬌寰楀師鏉ユ簮鐐瑰埌鏌愪簺緇撶偣鐨勮窛紱繪洿灝?涔熷氨鏄垜浠殑婧愮偣鍙樺ぇ浜?杈逛篃鍙樺浜?鎵浠ユ垜浠殑鏈鐭窛紱婚泦鍚堢殑鍊間篃蹇呴』鍙樺寲浜?..
璇ョ畻娉曚竴鐩村驚鐜痭N-1嬈?鐩磋嚦鎵鏈夌殑鐐歸兘鍔犲叆婧愮偣欏剁偣闆嗗悎...


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鍜宑鐨勫叧緋誨紡瀛愪簡,鍙互鎺ㄥ鍑?b+c) = (c^2+1)/(c-a),榪欎釜鏃跺欏彧闇瑕佹眰f(c)鐨勬渶灝忓?浣嗘槸c蹇呴』鍙栨暣鏁?瀵硅繖涓嚱鏁板彲浠ユ眰瀵?涔熷彲浠ヨ繘琛屽彉褰?鍙樺艦鍚庡彲浠ュ緱鍒癴(c) = (c-a)
+ 2*a + (a^2+1)/(c-a),浠=c-a,閭d箞鍙互寰楀埌(b+c)=f(x)=x+2*a+(a^2+1)/x, 鍏朵腑x蹇呴』鏄暣鏁?鍒扮幇鍦ㄤ負姝㈠氨鏄竴涓敤紼嬪簭妯℃嫙楂樹腑鏃跺欏榪囩殑鍙屾洸綰垮嚱鏁扮殑姹傛渶鍊奸棶棰樹簡,鎴戜滑鐭ラ亾璇ュ嚱鏁扮殑鏋佸肩偣鏄痵qrt(a^2+1),浣嗘槸鐢變簬x蹇呴』鏄暣鏁?鎴戜滑蹇呴』浠庢瀬鍊煎紑濮嬪線涓嬪拰寰涓婃壘鍒頒竴涓渶灝忓?鐒跺悗鍙?鑰呬腑鐨勬渶灝忓?..
榪欐牱榪欎釜棰樺氨瑙e嚭鏉ヤ簡...

浠g爜:
#include <stdio.h>
#include <iostream>
#include <math.h>
//b + c = (c^2 + 1) / (c - a) = (c-a) + (2 * a) + (a^2 + 1) / (c -a)
//浠-a = t, f(t) = t + 2*a + (a^2+1)/ t
//鍥犱負f(t)鍦╯qrt(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)
//浠 = 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鎵鏈夊洜瀛愬,鍙栧叾涓璵+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: 闀囩鐨勯毦棰?鍒ゆ柇涓姝f暣鏁版槸鍚﹀彲鑳芥槸鐩磋杈?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

闂鎻忚堪鏄細緇欏畾涓涓ぇ浜?鐨勬暣鏁?span style="font-family: 'Courier New', monospace; line-height: normal; text-indent: 27px; background-color: #ebebeb; ">N(1<=N<=10^8),鍒ゆ柇鍏舵槸鍚﹀彲鑳芥槸涓涓洿瑙掍笁瑙掑艦鐨勭洿瑙掕竟(榪欎釜涓夎褰㈢殑涓夋潯杈瑰繀欏婚兘鏄暣鏁?...
榪欎釜棰樿繕鏄仛寰楁垜鎸洪儊闂風殑銆傘傘傚垰寮濮嬪畬鍏ㄦ病鎬濊礬銆傘傘傚悗闈㈡病鍔炴硶錛岀‖鐫澶寸毊寰涓嬫兂錛屽浜庡嬀鑲″畾鐞哸^2 + b^2 = c^2,鍋囪N鏄痑,
鍙互寰楀埌a^2 = (c + b) * (c -b), 閭d箞(c+b)鍜?c-b)鏄痑^2鐨?涓洜瀛?鑰屼笖(c+b)>=a,(c-b)<=a銆傘傘?br />鍒拌繖涓姝ュ凡緇忓彲浠ョ敤紼嬪簭杞繪澗瑙e喅鍑烘潵浜?浣嗘槸瀵逛簬浠繪剰涓涓暣鏁癗鏉ヨ,鍏跺鏉傚害閮芥槸O(N),閭d箞璁$畻閲忚繕鏄緢澶х殑...
榪欎釜鏃跺欏彧闇瑕佹灇涓?-N,姹傚嚭a^2鐨?涓洜瀛?鐒跺悗姹俢鍜宐,濡傛灉鑳藉緱鍑篶鍜宐閮芥槸姝f暣鏁伴偅涔?灝辨弧瓚蟲潯浠朵簡...
浣嗘槸榪欐牱榪樻槸榪囦笉浜嗛,鍥犱負鏁版嵁閲忎笉浼氳繖涔堝皬...鏁版嵁閲忓ソ鍍忔湁10000緇勩傘傘?br />閭d箞榪橀渶瑕佹帹瀵煎嚭榪涗竴姝ョ殑緇撹...
鍥犱負1鍜宎^2涓瀹氭槸a^2鐨勪竴瀵瑰洜瀛?閭d箞(c+b) = a^2鍜?c-b) = 1涓瀹氬彲浠ユ垚鍔?
鍒欏彲浠ユ帹瀵煎嚭,2*c = a^2 + 1;
瑕乧鍙В,a蹇呴』涓哄鏁?閭d箞鍙互鎺ㄥ鍑哄鏋渁鏄鏁?涓瀹氭槸鐩磋杈逛簡銆傘傘?br />濡傛灉a鏄伓鏁頒簡,鍙互鍖栫畝涓?*(a/2)^2 = 4*錛坈+b)*(c-b) = (2c+2b)*(2c-2b) = a^2,閭d箞緇х畫鎺ㄥ涔熷彲浠ュ緱鍒頒竴鏍風殑緇撴灉浜?..


緇撹灝辨槸:瀵逛簬澶т簬絳変簬3鐨勬鏁存暟閮藉彲浠ユ槸涓鏉$洿瑙掕竟(>=3涔熷彲浠ユ牴鎹笂闈㈢殑c鍜宐鏄鏁存暟鎺ㄥ鍑烘潵)...


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>榪?涓笉鐩稿共鐨勯鐩斁鍦ㄤ竴璧蜂簡...璇村疄璇濊繖鍏跺疄涔熸槸浜屼釜瀹規槗鐨勯鐩?灝ゅ叾絎簩涓洿瀹規槗鎯沖埌...絎竴涓篃璁告殏鏃?br />娌¢偅涔堝鏄撴兂鍑烘潵銆傘傘?br />鑰屼笖鎰熻絎竴涓彜浠e瘑鐮佽繕鎸烘湁鎰忔濈殑...鍒ゆ柇涓涓瓧絎︿覆鏄惁鑳藉閫氳繃縐諱綅鍜屾浛鎹㈡柟娉曞姞瀵嗘垚鍙﹀涓涓瓧絎︿覆銆傘傘?br />鑷充簬絎簩涓?鍚勪綅鍘葷湅鐪嬮鐩惂銆傘傘?br />涔熸槸涓В娉曡窡棰樼洰涓嶅ぇ鐩稿叧鐨勯鐩傘傘?br />榪?涓鏈澶х殑鐗圭偣鍜屽叡鍚岀偣灝辨槸瑙f硶鍜岄鐩剰鎬濇兂鍘葷敋榪溿傘傘?br />鎵浠ユ垜瑙夊緱鍋氳繖縐嶄簩涓堝拰灝氭懜涓嶆棭澶磋剳鐨勯,鎬濈淮搴旇寰璺熼鎰忚儗紱葷殑鏂瑰悜鎬濊冦傘傘?br />
灝ゅ叾絎竴涓錛屽鏋滃彧鐪嬩唬鐮?鍗充嬌浠g爜鍙鎬у啀濂斤紝涔熶笉鐭ラ亾浠g爜鏈変綍鎰忎箟錛屾湁浣曠洰鐨勶紝璺熼鎰忔湁鍟ュ叧緋匯傘傘?br />涓嶈繃絎竴涓眳鐒惰交鏉続C浜?铏界劧鎴?b寰楁悶浜嗕釜ce鍜宺e鍑烘潵浜?..
絎竴涓殑杞崲鏂規硶鏄?璁$畻鍑虹幇鐨勫瓧絎?A'-'Z'鐨勫嚭鐜版鏁?鐒跺悗浠庡ぇ灝忔帓搴?濡傛灉閽堝鍔犲瘑鍚庣殑瀛楃涓插緱鍒扮殑緇撴灉涓鐩村ぇ浜庣瓑浜?br />鍔犲瘑鍓嶇殑瀛楃涓插緱鍒扮殑緇撴灉,琛ㄦ槑絳旀鏄痀ES...鍏蜂綋榪樻槸鐪嬩唬鐮佸惂...

#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/

榪?/a>涔熸槸涓涓緢綆鍗曠殑棰樼洰,澶у涓鐪嬮兘鐭ラ亾鐢ㄤ粈涔堟柟娉曚簡,褰撶劧濡傛灉鏄煡鎵劇殑璇?欏哄簭鏌ユ壘鏄笉琛岀殑,
鏂規硶涓,鏄敤map,寤虹珛涓猰ap<string, string>鐨勫瓧鍏?娉ㄦ剰涓嶈鎯沖綋鐒剁敤map<char*, char*>,
閭f牱寰楀姩鎬佸垎閰嶅唴瀛?鎴栬呰繕鏄厛寮涓ぇ鏁扮粍瀛樺ソ瀛楀吀,鍏剁粨鏋滆繕鏄嫻垂浜嗗唴瀛?..
鎺掑簭+浜屽垎涔熶笉閿欑殑,鍥犱負鏁版嵁閲忕‘瀹炲緢澶?鑰屼笖棰樼洰涔熷緩璁敤c鐨刬o杈撳叆,鎵浠ヨ繖鏍峰啀寤虹珛map<string, string>
涓棿榪樺緱杞崲涓涓?..
鎬諱箣鍋氳繖涓榪樻槸寰堥『鍒╃殑,灝眞a浜嗕竴嬈?鍘熷洜鏄?鍒嗗啓閿欎簡,鎴戜篃寰堜箙娌″湪oj涓婂啓2鍒嗕簡...

浠g爜濡備笅:
#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;
}

鍏跺疄鎴戠殑涓昏鐩殑鏄負浜嗘寚鍑轟簩鍒嗙殑鍐欐硶,澶у鐪嬫垜鐨凢indEnglish鍑芥暟,浼犻掔殑鏄暟緇勭殑鍦板潃鍜屾暟緇勭殑闀垮害,
鐒跺悗鎴戝啓鍑芥暟浣撶殑鏃跺欑敤鐨勬槸[]鐨勫艦寮?灝辨槸涓嬬‘鐣?涓婄‘鐣?榪欐牱鏈閲嶈鐨勬槸闇瑕佽冭檻寰幆鐨勬潯浠舵槸<榪樻槸
<=,鍏跺疄榪欎篃寰堝ソ鍒ゆ柇,鍥犱負涓婄晫鍜屼笅鐣岄兘鑳藉鍙栧埌,鎵浠?鏄垚绔嬬殑...鑰屼笖淇敼right鐨勬椂鍊?蹇呴』灝唕ight = mid - 1,
鍘熷洜涔熸槸鍥犱負榪欐槸涓婄‘鐣?
浣嗘槸濡傛灉鏄笂涓嶇‘鐣屼簡,閭d箞絳夊彿灝卞繀欏誨幓鎺?鑰屼笖right涔熷彧鑳戒慨鏀逛負mid,鍥犱負mid-1灝辨槸紜晫浜?鑰宮id鎵嶆槸涓婁笉紜晫...
鎯沖埌榪欎釜紼嬪害鐨勮瘽,浠ュ悗鍐欏彧鏈夊敮涓瑙d簩鍒嗗氨搴旇涓嶄細鍑洪敊浜?..浣嗘槸鍐欐煡鎵炬弧瓚蟲潯浠剁殑鏈澶ф垨鑰呮渶灝忚В鐨勪簩鍒嗚繕闇瑕佸叾瀹冩妧宸?..


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/

榪?/a>鏈潵灝辨槸涓涓畝鍗曠殑棰樼洰,浣嗘槸榪樻槸鍊煎緱鎴戠敤涓綃囨枃绔犵殑浣嶇疆銆傚ぇ瀹墮兘鍋氳繃闂板勾鐨勯鐩?榪欏彧鏄棸騫寸殑涓涓崌綰х増銆傘傘傛湰鏉ユ垜涓嶈嚦浜庤繖涔堢籂緇撹繖涓鐩殑,涓鐪嬪埌棰樼洰,
鎴戝氨鑰冭檻鍒頒簡涓嬈℃鍑忓幓澶╂暟鏉ュ姞騫存暟鍜屾湀浠?鑰屼笖鎴戣繕鎯沖湪璇誨叆鏁版嵁涔嬪墠鍒濆鍖栦竴涓瓨鍌?000-9999騫存瘡騫存湁澶氬皯澶╁緱鏁扮粍...榪欐牱灝卞彲浠ラ伩鍏嶅驚鐜椂鍊欒綆楁瘡騫寸殑澶╂暟浜?..浣嗘槸鎴戣繕鏄曟椂闂翠笉澶?鎵浠ユ垜鎯沖埌浜嗕釜O(1)鐨勭畻娉?..
閭e氨鏄寜鐓ч鐩殑璇存槑,鍏跺疄姣?00鏄竴涓懆鏈熺殑,浣嗘槸鎴戝墠闈㈠啓浠g爜鐨勬椂鍊欐妸4騫村綋涓竴涓皬鍛ㄦ湡,100騫村綋涓竴涓腑鍛ㄦ湡,400騫村綋涓竴涓ぇ鍛ㄦ湡,鍚屾牱鐨勫鐞嗕簡...
浜嬪疄涓?鍙兘瀵?00浣滀負鍛ㄦ湡澶勭悊,鍏跺畠鐨勫繀欏誨垎綾昏璁?铏界劧浠g爜鍐欏嚭鏉ュ緢澶嶆潅,鑰屼笖鎴戜篃鍥犱負鍑虹幇榪欎釜bug閿欎簡鏃犳暟嬈?浣嗘槸鎴戣繕鏄劅瑙夐潪甯稿煎緱鐨?..鍥犱負榪欐槸鎴戠嫭绔嬫濊冪殑鎴愭灉,鑰楄垂浜嗗灝戞椂闂村拰綺懼姏鍊掓槸鏃犳墍璋?..鍐欑畻娉曢,鐩殑涓嶄粎浠呭簲璇ユ槸瀛︿範浜嗗灝戜釜綆楁硶,鑰屾槸鍦ㄤ簬鑳藉姏鐨勬彁楂?涓漢鐨勪弗璋ㄦ?鎬濊冮棶棰樼殑瀹屾暣鎬х瓑絳?..涓鐩磋寰楄嚜宸辨濊冮棶棰樻椂鍊欐湁鍒涙剰,浣嗘槸瀹屾暣鎬у拰涓ヨ皚鎬у緢浣?..

涓嬮潰璐存垜鐨勪唬鐮佸惂,鍙敤浜?0ms,濡傛灉閲囩敤絎竴縐嶆柟娉曞垯闇瑕?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-400騫?浠?涓哄懆鏈?
            {
                nTemp -= MID * 3;
                nPastYears += 300;

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

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

                if (nTemp >= SMALL * 24)//97-100騫?4涓鉤騫?
                {
                    nTemp -= SMALL * 24;
                    nPastYears += 4 * 24;

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

                }
                else//1-96騫?/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
榪欏叾瀹炲氨鏄竴涓畝鍗曠殑縐諱綅瀵嗙爜綆楁硶棰?鍙槸澶氫簡涓驚鐜屽凡,瀵嗙爜瀛﹂噷闈篃鎸囧嚭榪囧驚鐜繍綆楁槸娌℃湁鏁堟灉鐨?鎵浠ラ鐩及璁′篃灝辮冨療浜嗚繖涓鐐?濡傛灉娌℃湁鎵懼嚭寰幆鍛ㄦ湡,姝ら浼氫竴鐩磋秴鏃剁殑...
鍒氬紑濮?鎴戝氨鐩存帴妯℃嫙K嬈″姞瀵?鏄劇劧瓚呮椂浜?褰撴椂榪樹笉淇′簡,浠ヤ負綆鍗曡嚦姝ゃ傘傘?br />鍚庨潰鎴戝氨寮濮嬫敼榪涗簡,鍒氬紑濮嬫槸鎶婂懆鏈熻綆楀拰鍔犲瘑鏀懼湪涓璧峰啓浜?鏍蜂緥涔熻繃浜?浣嗘槸榪樻槸涓鐩撮敊...
娌″姙娉曞啀鏀?鎴戞敼鎴愭妸鍛ㄦ湡姹傚嚭鏉?鍐嶅鍔犲瘑嬈℃暟K鍙栨ā鍚?鍐嶈繘琛岃繍綆?..
濂藉惂,榪樻槸涓鏍穡a,鍚庨潰灝卞彉鎴怭E浜嗐傘傘?br />鏈鍚?榪欎釜棰樼粡榪囨垜榪?涓皬鏃剁殑濂嬫垬,緇堜簬榪囦簡,涓鍏遍敊浜嗚繎10嬈″惂...絎竴嬈℃彁浜ゆ槸璺濈幇鍦?涓灝忔椂鍓嶄簡...
鏈鍚庡彂鐜伴敊璇殑鍘熷洜榪樻槸鎹㈣杈撳嚭鐨勫湴鏂歸敊浜?棰樼洰瑕佹眰鏄瘡涓緇勪腑闂存湁涓┖琛?鎴戝垯杈撳嚭鐨勬槸姣忔璁$畻鍚庢湁涓┖琛?..
瀹炲湪鏃犺...
鎬濈淮涓嶄弗璋ㄥ晩...

浠g爜:
#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>榪欏氨鏄釜綆鍗曠殑瑁呯瀛愰棶棰?寰堝鏄撴兂娓呮瑁呯瀛愮殑榪囩▼,鑰屼笖榪欎釜榪囩▼鏄弧瓚寵椽蹇冪畻娉曠殑,
鎵浠ュ彧闇瑕佺敤浠g爜妯℃嫙鏁翠釜瑁呯瀛愮殑榪囩▼鍗沖彲,浣嗘槸榪欐牱鐪熺殑灝辮凍澶熶簡鍚楋紵錛燂紵
鎴戝垰寮濮嬪氨鏄敤浠g爜妯℃嫙榪欎釜鎵嬪姩榪囩▼浜?铏界劧AC浜?浣嗘槸浠g爜鏈?50琛屽乏鍙?閫昏緫涔熸樉寰楄繃浜庡鏉備簡,
寰椾笉鍋垮け銆傘傘傛暣涓繃紼嬫槸6*6鐨勪竴涓崰涓涓瀛?5*5鐨勪篃蹇呴』涓涓崰涓涓瀛?浣嗘槸闇瑕佽ˉ11涓?*1鐨?
4*4鐨勪篃鏄竴涓崰涓涓瀛?浣嗘槸闇瑕佽ˉ5涓?*2鐨?濡傛灉2*2鐨勪笉瓚沖,鍒欑敤1*1鐨勪唬鏇?
3*3鐨?涓崰涓涓瀛?浣嗘槸浼氭湁浣欐暟,鍙兘浣欎笅1,2,3涓?*3鐨勭瀛?榪欎釜鏃跺欏繀欏婚潪鎯呭喌鑰冭檻,
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 />榪欎釜榪囩▼璇村嚭鏉ュ凡緇忛潪甯稿鏉備簡,鏇翠綍鍐電敤浠g爜鍐?鎴戣垂浜嗕節鐗涗簩铏庝箣鍔涙墠鍐欏嚭鏉?WA浜嗕竴嬈℃墠AC浜?..

浠g爜:
#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;
}


榪欐牱鐨勫啓娉曟樉鐒朵笉濂藉惂銆傘傘傞鍏?浣欎笅1,2,3涓?*3鏃跺欓渶瑕佸~鍑犱釜2*2鐨勫彲浠ュ瓨鍌ㄥ湪鏁扮粍閲岄潰,榪欐牱灝卞彲浠ヤ笉鐢ㄥ啓閲嶅浠g爜浜?
濡傛灉鍐嶄粠鏁翠綋鑰冭檻浣欎笅澶氬皯涓牸瀛?灝變笉鐢ㄧ敤璐績綆楁硶妯℃嫙瑁呯瀛愮殑榪囩▼浜嗐傘傘?br />浠g爜濡備笅:
#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; ">閾炬帴錛?a >http://poj.grids.cn/practice/2808 <br /></a><br />鏂規硶1(絀洪棿鎹㈡椂闂?錛?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(鍚堝茍鍖洪棿)錛?br />鎬濇兂鏄皢鎵鏈夊尯闂村瓨鍌ㄥ湪鏁扮粍閲岄潰,瀵規墍鏈夊尯闂翠互涓嬮檺涓烘爣鍑嗘帓搴?鐒跺悗浠庡ご鑷沖熬鎵弿鍖洪棿鏁扮粍,<br />鍚堝茍鍖洪棿鐨勬柟娉曟槸錛氬綋鍓嶅尯闂村垵濮嬪寲涓虹涓涓尯闂?鐒跺悗鍒ゆ柇涓嬩竴涓尯闂寸殑涓嬮檺鏄惁宸茬粡瓚呰繃褰撳墠鍖洪棿鐨勪笂闄?濡傛灉鏄繖鏍風殑璇?灝辨棤娉曠戶緇悎騫朵簡,閭d箞灝辯戶緇凡緇忓悎騫跺尯闂寸殑闀垮害,閲嶆柊寮濮嬩竴嬈℃柊鐨勫悎騫?鍚﹀垯鐨勮瘽,灝嗕笅涓涓尯闂村悎騫跺埌褰撳墠鍖洪棿璧鋒潵銆傘傘?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.xxupng.cn" target="_blank">久久精品无码专区免费东京热</a>| <a href="http://www.awhahzm.cn" target="_blank">国产成人精品久久亚洲高清不卡</a>| <a href="http://www.wuchui.cn" target="_blank">国内精品久久久久影院网站</a>| <a href="http://www.ijuanzhamen.cn" target="_blank">99久久精品国产一区二区</a>| <a href="http://www.zyhyhz.cn" target="_blank">久久精品亚洲福利</a>| <a href="http://www.gloven.cn" target="_blank">日本强好片久久久久久AAA </a>| <a href="http://www.ad2500.cn" target="_blank">成人精品一区二区久久</a>| <a href="http://www.110xi.cn" target="_blank">久久黄视频</a>| <a href="http://www.mivrcloud.cn" target="_blank">久久精品国产亚洲AV无码娇色</a>| <a href="http://www.nboys.cn" target="_blank">伊人色综合久久天天</a>| <a href="http://www.szac.org.cn" target="_blank">久久综合亚洲色一区二区三区</a>| <a href="http://www.976z.cn" target="_blank">韩国免费A级毛片久久</a>| <a href="http://www.pz897.cn" target="_blank">久久亚洲中文字幕精品一区</a>| <a href="http://www.rhtyyls.cn" target="_blank">亚洲精品无码成人片久久</a>| <a href="http://www.xinxiang8.cn" target="_blank">国产农村妇女毛片精品久久</a>| <a href="http://www.034867.cn" target="_blank">久久久久久国产精品美女</a>| <a href="http://www.5yfyf.cn" target="_blank">国产亚洲精久久久久久无码AV</a>| <a href="http://www.hnzzwl.cn" target="_blank">久久人人添人人爽添人人片牛牛</a>| <a href="http://www.onceday.cn" target="_blank">97久久精品人人做人人爽</a>| <a href="http://www.mbjywz.cn" target="_blank">亚洲va久久久噜噜噜久久天堂 </a>| <a href="http://www.gxyy.org.cn" target="_blank">久久国产高潮流白浆免费观看</a>| <a href="http://www.minghuzisha.cn" target="_blank">94久久国产乱子伦精品免费</a>| <a href="http://www.02324.cn" target="_blank">午夜精品久久久久久久</a>| <a href="http://www.cxshuangai.cn" target="_blank">日本加勒比久久精品</a>| <a href="http://www.58city.cn" target="_blank">久久久久中文字幕</a>| <a href="http://www.ihkd.cn" target="_blank">国产精品久久自在自线观看</a>| <a href="http://www.liuxuehanguo.cn" target="_blank">久久久久久久久波多野高潮</a>| <a href="http://www.rcipbrdgydr.cn" target="_blank">久久www免费人成看国产片</a>| <a href="http://www.hongyuan123.cn" target="_blank">国产99久久精品一区二区</a>| <a href="http://www.zupy.cn" target="_blank">97精品国产97久久久久久免费</a>| <a href="http://www.3762g.cn" target="_blank">四虎影视久久久免费观看</a>| <a href="http://www.http2009.cn" target="_blank">99久久婷婷国产一区二区</a>| <a href="http://www.sdxlhc.cn" target="_blank">99精品久久精品一区二区</a>| <a href="http://www.77ns.cn" target="_blank">久久精品国产亚洲av水果派</a>| <a href="http://www.ojh365ok123.com.cn" target="_blank">精品久久久久久久久免费影院</a>| <a href="http://www.dfpt.net.cn" target="_blank">国产精品狼人久久久久影院</a>| <a href="http://www.taobaomaiba.cn" target="_blank">国产成人综合久久综合</a>| <a href="http://www.ed34.cn" target="_blank">91精品国产9l久久久久</a>| <a href="http://www.tafeemanager.cn" target="_blank">99国产精品久久久久久久成人热</a>| <a href="http://www.tom530.cn" target="_blank">好久久免费视频高清</a>| <a href="http://www.aboto.cn" target="_blank">伊人久久大香线蕉精品</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>