�̹��� ���չ����� ���Ƽ� �׷��� ������ ���� ����� �����ڵ��� ���̳׿�. �������� �������� ������ �н��� �ſ� �߿��մϴ�.
"; print " �Ʒ� ������ ������ ��� �п� ���� ����Դϴ�.
������ �غ����� ���ǰ��翡�� ������ �ֽñ� �ٶ��ϴ�.
"; print "
���� : o - Accepted, x - Wrong Answer, s - signal out(runtime error), t - Time Limit Exceeded


"; print "8ȸ ���� �ڴ���!! ���

"; print "
Gold Medal - �� ���̶� ������ �������� 10%, Silver Medal - �������� 20%, Bronze Medal - �������� 30%

"; print "
[ Winner!! ] (1,000pts)

: ainta, gs12117
"; print "

Gold Medal List!! (over 960pts)


: ainta, gs12117, gs12065
"; print "

Silver Medal List (over 760pts)


: commaster0, gs11028, gs11018, gs11048, gs11103, wclee2265
"; print "

Bronze Medal List (over 280pts)


: gs11008, gs10102, gs11059, teram, k5888200, gs12059, junho2, kk1401


"; $dir="/var/www/bbs/moi/8th/"; $pnum = 5; $files1 = scandir($dir); $number=1; $iuser = array(); $ip1 = array(); $ip2 = array(); $ip3 = array(); $ip4 = array(); $ip5 = array(); $isc = array(); $rank = array(); for( $i=0 ; $files1[$i] != NULL ; $i++ ) { if(/*$files1[$i]!="admin" && */$files1[$i]!="." && $files1[$i]!=".." && is_dir($files1[$i])==true) { $number++; $score=0; if( $number%2 == 1 ) $bcolor = "ffffff"; else $bcolor = "ececff"; $id_name=""; for($ttt=0;$ttt<= strlen($files1[$i]) ;$ttt++) if(1<=$ttt&&$ttt<=-2) $id_name.= "*"; else $id_name.=SUBSTR($files1[$i],$ttt,1); $iuser[$number] = $id_name; for( $j=1 ; $j <= $pnum ; $j++ ) { $sz = 20; $prob_result = $dir.$files1[$i].'/'.$files1[$i].'.res'.$j; if(file_exists($prob_result)==true) { $score+=($j*0.001); $fp = fopen($prob_result, "r"); $str = fgets($fp, filesize($prob_result)+1); $resres = ""; for( $k=0; $k <= strlen($str) ; $k++ ) if(SUBSTR($str, $k, 1)== "o"){ $resres.=''.SUBSTR($str, $k, 1).''; if($j==1) $score += 20+($j*0.001); else if($j==2) $score += 20+($j*0.001); else if($j==3) $score += 20+($j*0.001); else if($j==4) $score += 20+($j*0.001); else if($j==5) $score += 10+($j*0.001); } else if(SUBSTR($str, $k, 1)=="x") $resres.=''.SUBSTR($str, $k, 1).''; else if(SUBSTR($str, $k, 1)=="t") $resres.=''.SUBSTR($str, $k, 1).''; else if(SUBSTR($str, $k, 1)=="s") $resres.=''.SUBSTR($str, $k, 1).''; } else $resres='Not submited!!'; if($j==1) $ip1[$number] = $resres; else if($j==2) $ip2[$number] = $resres; else if($j==3) $ip3[$number] = $resres; else if($j==4) $ip4[$number] = $resres; else $ip5[$number] = $resres; } $isc[$number]=$score; } } for($i=2;$i<=$number;$i++) for($j=2;$j<=$number;$j++) if( $isc[$i] < $isc[$j] ) $rank[$i]++; for($i=2;$i<=$number-1;$i++) for($j=$i+1;$j<=$number;$j++) if($isc[$i] < $isc[$j]) { $tttt=$iuser[$i];$iuser[$i]=$iuser[$j];$iuser[$j]=$tttt; $tttt=$ip1[$i];$ip1[$i]=$ip1[$j];$ip1[$j]=$tttt; $tttt=$ip2[$i];$ip2[$i]=$ip2[$j];$ip2[$j]=$tttt; $tttt=$ip3[$i];$ip3[$i]=$ip3[$j];$ip3[$j]=$tttt; $tttt=$ip4[$i];$ip4[$i]=$ip4[$j];$ip4[$j]=$tttt; $tttt=$ip5[$i];$ip5[$i]=$ip5[$j];$ip5[$j]=$tttt; $ttttt=$isc[$i];$isc[$i]=$isc[$j];$isc[$j]=$ttttt; $ttttt=$rank[$i];$rank[$i]=$rank[$j];$rank[$j]=$ttttt; } print 'Result for All Participant (������ ��쿡 5, 4, 3, 2, 1�� ������ ���� ������ �켱������ �������ϴ�.)
'; for($i=2; $i <= $number ; $i++ ) { if( $i%2 == 1 ) $bcolor = "ffffff"; else $bcolor = "ececff"; print ' '; print ' '; print ' '; print ' '; print ' '; print ' '; print ' '; print ''; print ""; } print "
Rank user Op.Complexity(200) Flip Coins(200) Tug-of-war Battle(200) Mondrian(200) To setup Game(F)(200) Score
'.($rank[$i]+1).''.$iuser[$i].''.$ip1[$i].''.$ip2[$i].''.$ip3[$i].''.$ip4[$i].''.$ip5[$i].''.(floor($isc[$i])).'

"; print "�̹� ��ȸ�� �����Ͻ� ".($number)."�� ��� �����ϼ̽��ϴ�!! ���� �濬�� ����ϼ���~
"; print "������ ��ȸ�� �ȴٸ� ����ǰ�� �غ��� ^^;"; print "


Here is some User's perfact Solution!!


1. Operation Complexity (by gs11048)"; print '
  1. #include<stdio.h>       
  2. #include<stdlib.h>  
  3. int N;              //gs11048  
  4. long long a,b,c;  
  5.   
  6. int main()  
  7. {  
  8.     int i;  
  9.     scanf("%d",&N);  
  10.     if(N==1)  
  11.     {  
  12.         printf("1 1");  
  13.         exit(1);  
  14.     }  
  15.     a=2; b=1;  
  16.     for(i=1 ; i<N ; i++)  
  17.     {  
  18.         c=a;  
  19.         a=a+b;  
  20.         b=c;  
  21.     }  
  22.     printf("%lld %lld",a,b);  
  23.     return 0;  
  24. }  

'; print "


2. Flip Coins (by ainta) "; print '
  1. #include<stdio.h>  
  2. #include<string.h>  
  3. char p[101];                //ainta  
  4. int mmin(int a,int b){if(a<b)return a;return b;}  
  5. int n,i,D[101][4],res,w[101],j;  
  6. int main(){  
  7.     scanf("%s",p);  
  8.     n=strlen(p);  
  9.     if(n==1){if(p[0]==0)printf("0\n");else printf("HP0\n");return 0;}  
  10.     for(i=0;i<n-1;i++)D[i][0]=D[i][1]=D[i][2]=D[i][3]=99999999;  
  11.     for(i=0;i<n;i++)w[i]=p[i]-'0';  
  12.     D[0][w[0]+w[1]*2]='0',D[0][3-(w[0]+w[1]*2)]=1;  
  13.     for(i=0;i<n-2;i++){  
  14.         for(j=0;j<4;j++){  
  15.             D[i][j]=mmin(D[i][j],D[i][3-j]+1);  
  16.         }  
  17.         for(j=0;j<4;j++){  
  18.             if(D[i][j]<99999999){  
  19.                 if(!(j&1)){  
  20.                     D[i+1][j/2+w[i+2]*2]=mmin(D[i+1][j/2+w[i+2]*2],D[i][j]);  
  21.                     D[i+1][3-(j/2+w[i+2]*2)]=mmin(D[i+1][3-(j/2+w[i+2]*2)],D[i][j]+1);}  
  22.                 else {  
  23.                     D[i+1][3-(j/2+w[i+2]*2)]=mmin(D[i+1][3-(j/2+w[i+2]*2)],D[i][j]+1);  
  24.                 }  
  25.             }  
  26.         }  
  27.     }  
  28.     if(D[n-2][0]<99999999)printf("%d\n",D[n-2][0]);  
  29.     else printf("HP0\n");  
  30. }  

'; print "


3. Tug-of-war Battle (by gs12117)
"; print'
  1. #include<stdio.h>  
  2. int main(){     // gs12117  
  3.     long long int a,b,c,d,i;  
  4.     scanf("%lld%lld%lld",&a,&b,&c);  
  5.     d=1;  
  6.     for(i=1;i<a;i++){  
  7.         d*=(2*i+1);  
  8.         d=d%c;  
  9.     }  
  10.     printf("%lld",d);  
  11. }  

'; print "


4. Mondrian (by gs12065)
"; print'
  1. #include <stdio.h>  
  2.   
  3. int n, k, cnt;      // gs12065  
  4.   
  5. int main(){  
  6.     scanf("%d%d", &n, &k);  
  7.   
  8.     cnt = n/k;  
  9.     if(n-cnt*k >= (k+1)/2) printf("%d\n", cnt*-~cnt*k);  
  10.     else printf("%d\n", cnt*cnt*k);  
  11.   
  12.     return 0;  
  13. }  

'; print "


5. To setup game(F) (by teram)
"; print'
  1. #include<stdio.h>  
  2. #define mod 1000000007  
  3.   
  4. long long int p[550000];        //teram  
  5.   
  6. int main() {  
  7.   
  8.     long long int ans=1,u;  
  9.     int n,k,n_;  
  10.     int i,j;  
  11.   
  12.     scanf("%d %d", &n, &k);     // The general solution is 2*(n-1)Ck  
  13.   
  14.     if(n<=k) printf("0\n");  
  15.     else {  
  16.         k=(k>(n-1)/2)?(n-1-k):k;  
  17.         for(i=n-1 ; i>=n-1-k+1 ; i--) {  
  18.             if(i==2 || i==3)  
  19.                 p[i]++;  
  20.             else {  
  21.                 n_=i;  
  22.                 for(j=2 ; j*j<=n_ ; ) {  
  23.                     if(n_%j==0)  
  24.                         p[j]++, n_/=j;  
  25.                     else  
  26.                         j++;  
  27.                 }  
  28.                 p[n_]++;  
  29.             }  
  30.         }  
  31.         for(i=2 ; i<=k ; i++) {  
  32.             if(i==2 || i==3)  
  33.                 p[i]--;  
  34.             else {  
  35.                 n_=i;  
  36.                 for(j=2 ; j*j<=n_ ; ) {  
  37.                     if(n_%j==0)  
  38.                         p[j]--, n_/=j;  
  39.                     else  
  40.                         j++;  
  41.                 }  
  42.                 p[n_]--;  
  43.             }  
  44.         }  
  45.       
  46.         for(u=2 ; u<=n ; u++) {  
  47.             while(p[u]>0) {  
  48.                 ans*=u, p[u]--;  
  49.                 ans%=mod;  
  50.             }  
  51.         }  
  52.   
  53.         printf("%lld\n", (2*ans)%mod);  
  54.     }  
  55.   
  56.     return 0;  
  57. }  

'; print "


Here another solution (veryfast solution using Fermat's Little Theorem) (by gs12117)
"; print'
  1. #include<stdio.h>  
  2. int a,b;        // gs12117  
  3. main(){  
  4.     long long c,d,e,i,j,k,z=1000000007;  
  5.     scanf("%d%d",&a,&b);  
  6.     for(c=d=1,i=--a;i>b;)  
  7.         c*=i--,c%=z,d*=a-i,d%=z;  
  8.     for(e=1,j=536870912,k=z-2;j>0;j/=2)  
  9.     {  
  10.         e*=e;  
  11.         e%=z;  
  12.         if(k>=j){k-=j;e*=d;e%=z;}  
  13.     }  
  14.     if(a<b)c=0;  
  15.     printf("%lld",(c*e*2)%z);  
  16. }  

'; print "
�� �ع��� �м��Ͽ� ������ �����սô�. ���� ��ϵǸ� �����ϼ���!!"; print ''; ?>