�̹��� ���չ����� ���Ƽ� ���� ������ ���� ����� �����ڵ��� ���̳�. �������� �������� ������ �н��� �ſ� �߿��մϴ�.
";
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 '- #include<stdio.h>
- #include<stdlib.h>
- int N;
- long long a,b,c;
-
- int main()
- {
- int i;
- scanf("%d",&N);
- if(N==1)
- {
- printf("1 1");
- exit(1);
- }
- a=2; b=1;
- for(i=1 ; i<N ; i++)
- {
- c=a;
- a=a+b;
- b=c;
- }
- printf("%lld %lld",a,b);
- return 0;
- }
#include<stdio.h>
#include<stdlib.h>
int N; //gs11048
long long a,b,c;
int main()
{
int i;
scanf("%d",&N);
if(N==1)
{
printf("1 1");
exit(1);
}
a=2; b=1;
for(i=1 ; i<N ; i++)
{
c=a;
a=a+b;
b=c;
}
printf("%lld %lld",a,b);
return 0;
}
';
print "
2. Flip Coins (by ainta) ";
print '- #include<stdio.h>
- #include<string.h>
- char p[101];
- int mmin(int a,int b){if(a<b)return a;return b;}
- int n,i,D[101][4],res,w[101],j;
- int main(){
- scanf("%s",p);
- n=strlen(p);
- if(n==1){if(p[0]==0)printf("0\n");else printf("HP0\n");return 0;}
- for(i=0;i<n-1;i++)D[i][0]=D[i][1]=D[i][2]=D[i][3]=99999999;
- for(i=0;i<n;i++)w[i]=p[i]-'0';
- D[0][w[0]+w[1]*2]='0',D[0][3-(w[0]+w[1]*2)]=1;
- for(i=0;i<n-2;i++){
- for(j=0;j<4;j++){
- D[i][j]=mmin(D[i][j],D[i][3-j]+1);
- }
- for(j=0;j<4;j++){
- if(D[i][j]<99999999){
- if(!(j&1)){
- D[i+1][j/2+w[i+2]*2]=mmin(D[i+1][j/2+w[i+2]*2],D[i][j]);
- 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);}
- else {
- 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);
- }
- }
- }
- }
- if(D[n-2][0]<99999999)printf("%d\n",D[n-2][0]);
- else printf("HP0\n");
- }
#include<stdio.h>
#include<string.h>
char p[101]; //ainta
int mmin(int a,int b){if(a<b)return a;return b;}
int n,i,D[101][4],res,w[101],j;
int main(){
scanf("%s",p);
n=strlen(p);
if(n==1){if(p[0]==0)printf("0\n");else printf("HP0\n");return 0;}
for(i=0;i<n-1;i++)D[i][0]=D[i][1]=D[i][2]=D[i][3]=99999999;
for(i=0;i<n;i++)w[i]=p[i]-'0';
D[0][w[0]+w[1]*2]='0',D[0][3-(w[0]+w[1]*2)]=1;
for(i=0;i<n-2;i++){
for(j=0;j<4;j++){
D[i][j]=mmin(D[i][j],D[i][3-j]+1);
}
for(j=0;j<4;j++){
if(D[i][j]<99999999){
if(!(j&1)){
D[i+1][j/2+w[i+2]*2]=mmin(D[i+1][j/2+w[i+2]*2],D[i][j]);
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);}
else {
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);
}
}
}
}
if(D[n-2][0]<99999999)printf("%d\n",D[n-2][0]);
else printf("HP0\n");
}
';
print "
3. Tug-of-war Battle (by gs12117)
";
print'
- #include<stdio.h>
- int main(){
- long long int a,b,c,d,i;
- scanf("%lld%lld%lld",&a,&b,&c);
- d=1;
- for(i=1;i<a;i++){
- d*=(2*i+1);
- d=d%c;
- }
- printf("%lld",d);
- }
#include<stdio.h>
int main(){ // gs12117
long long int a,b,c,d,i;
scanf("%lld%lld%lld",&a,&b,&c);
d=1;
for(i=1;i<a;i++){
d*=(2*i+1);
d=d%c;
}
printf("%lld",d);
}
';
print "
4. Mondrian (by gs12065)
";
print'
- #include <stdio.h>
-
- int n, k, cnt;
-
- int main(){
- scanf("%d%d", &n, &k);
-
- cnt = n/k;
- if(n-cnt*k >= (k+1)/2) printf("%d\n", cnt*-~cnt*k);
- else printf("%d\n", cnt*cnt*k);
-
- return 0;
- }
#include <stdio.h>
int n, k, cnt; // gs12065
int main(){
scanf("%d%d", &n, &k);
cnt = n/k;
if(n-cnt*k >= (k+1)/2) printf("%d\n", cnt*-~cnt*k);
else printf("%d\n", cnt*cnt*k);
return 0;
}
';
print "
5. To setup game(F) (by teram)
";
print'- #include<stdio.h>
- #define mod 1000000007
-
- long long int p[550000];
-
- int main() {
-
- long long int ans=1,u;
- int n,k,n_;
- int i,j;
-
- scanf("%d %d", &n, &k);
-
- if(n<=k) printf("0\n");
- else {
- k=(k>(n-1)/2)?(n-1-k):k;
- for(i=n-1 ; i>=n-1-k+1 ; i--) {
- if(i==2 || i==3)
- p[i]++;
- else {
- n_=i;
- for(j=2 ; j*j<=n_ ; ) {
- if(n_%j==0)
- p[j]++, n_/=j;
- else
- j++;
- }
- p[n_]++;
- }
- }
- for(i=2 ; i<=k ; i++) {
- if(i==2 || i==3)
- p[i]--;
- else {
- n_=i;
- for(j=2 ; j*j<=n_ ; ) {
- if(n_%j==0)
- p[j]--, n_/=j;
- else
- j++;
- }
- p[n_]--;
- }
- }
-
- for(u=2 ; u<=n ; u++) {
- while(p[u]>0) {
- ans*=u, p[u]--;
- ans%=mod;
- }
- }
-
- printf("%lld\n", (2*ans)%mod);
- }
-
- return 0;
- }
#include<stdio.h>
#define mod 1000000007
long long int p[550000]; //teram
int main() {
long long int ans=1,u;
int n,k,n_;
int i,j;
scanf("%d %d", &n, &k); // The general solution is 2*(n-1)Ck
if(n<=k) printf("0\n");
else {
k=(k>(n-1)/2)?(n-1-k):k;
for(i=n-1 ; i>=n-1-k+1 ; i--) {
if(i==2 || i==3)
p[i]++;
else {
n_=i;
for(j=2 ; j*j<=n_ ; ) {
if(n_%j==0)
p[j]++, n_/=j;
else
j++;
}
p[n_]++;
}
}
for(i=2 ; i<=k ; i++) {
if(i==2 || i==3)
p[i]--;
else {
n_=i;
for(j=2 ; j*j<=n_ ; ) {
if(n_%j==0)
p[j]--, n_/=j;
else
j++;
}
p[n_]--;
}
}
for(u=2 ; u<=n ; u++) {
while(p[u]>0) {
ans*=u, p[u]--;
ans%=mod;
}
}
printf("%lld\n", (2*ans)%mod);
}
return 0;
}
';
print "
Here another solution (veryfast solution using Fermat's Little Theorem) (by gs12117)
";
print'
- #include<stdio.h>
- int a,b;
- main(){
- long long c,d,e,i,j,k,z=1000000007;
- scanf("%d%d",&a,&b);
- for(c=d=1,i=--a;i>b;)
- c*=i--,c%=z,d*=a-i,d%=z;
- for(e=1,j=536870912,k=z-2;j>0;j/=2)
- {
- e*=e;
- e%=z;
- if(k>=j){k-=j;e*=d;e%=z;}
- }
- if(a<b)c=0;
- printf("%lld",(c*e*2)%z);
- }
#include<stdio.h>
int a,b; // gs12117
main(){
long long c,d,e,i,j,k,z=1000000007;
scanf("%d%d",&a,&b);
for(c=d=1,i=--a;i>b;)
c*=i--,c%=z,d*=a-i,d%=z;
for(e=1,j=536870912,k=z-2;j>0;j/=2)
{
e*=e;
e%=z;
if(k>=j){k-=j;e*=d;e%=z;}
}
if(a<b)c=0;
printf("%lld",(c*e*2)%z);
}
';
print "
�� �ع��� �м��Ͽ� ������ �����սô�. ���� ��ϵǸ� �����ϼ���!!";
print '';
?>