print " 4ȸ ³ª´ÂÄÚ´õ´Ù(Chick) °á°úÀÔ´Ï´Ù.
";
print " ¾Æ·¡ Á¡¼ö´Â Âü¿©ÇÑ ¸ðµç ºÐ¿¡ ´ëÇÑ °á°úÀÔ´Ï´Ù.
´ÙÀ½¿¡ ÁغñÁßÀÎ ¸ðÀÇ°í»ç¿¡µµ Âü°¡ÇØ Áֽñ⠹ٶø´Ï´Ù.
";
print "
¹ü·Ê : o - Accepted, x - Wrong Answer, s - signal out(runtime error), t - Time Limit Exceeded
";
print "4ȸ ³ª´Â ÄÚ´õ´Ù(Chick)!! °á°ú
";
print "
Gold Medal - ÇÑ ¹øÀÌ¶óµµ Á¦ÃâÇÑ Âü°¡ÀÚÀÇ 10%, Silver Medal - Âü°¡ÀÚÀÇ 20%, Bronze Medal - Âü°¡ÀÚÀÇ 30%
";
print " : byeonbi, dijkstra, gs12065, shadow2496, teram, vega4792
";
print " : gs10107, gs11059, zlzmsrhak56, lawl, pl0892029
";
print " : august14, gs11008, k5888200, nobe0716, ainta, takuma, jerry1259, toowhalsrb2, gs11103, alskdj28
";
$dir="/var/www/bbs/moi/4stchk/";
$pnum = 4;
$files1 = scandir($dir);
$number=1;
$iuser = array();
$ip1 = array();
$ip2 = array();
$ip3 = array();
$ip4 = 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!=4) $score += 25+($j*0.001);
else $score += 25+($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 $ip4[$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;
$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 (µ¿Á¡ÀÏ °æ¿ì¿¡ 4, 3, 2, 1¹ø ¹®Á¦ÀÇ Á¡¼ö ¼øÀ¸·Î ¿ì¼±¼øÀ§°¡ Á¤ÇØÁý´Ï´Ù.)
Rank | user | KOI&IOI(250) | Union(250) | Card Game(250) | Find Constellation(250) | Score |
'.($rank[$i]+1).' | '; print ''.$iuser[$i].' | '; print ''.$ip1[$i].' | '; print ''.$ip2[$i].' | '; print ''.$ip3[$i].' | '; print ''.$ip4[$i].' | '; print ''.(floor($isc[$i])).' | '; print "
#include <stdio.h> //by byeonbi int main() { char S[10001]={0,}; int koi, ioi; int i; scanf("%s", S); koi=ioi=0; i=2; while(S[i]){ if(S[i-1]=='O' && S[i]=='I'){ S[i-2]=='I'?ioi++:(S[i-2]=='K'?koi++:0); } i++; } printf("%d\n%d\n", koi, ioi); return 0; }
#include <stdio.h> #include <string.h> //by august14 char str[10101]; int l,koi,ioi; int main() { int i; scanf ("%s",str); l = strlen(str); for (i=2;i<l;i++){ if (str[i-1] == 'O' && str[i] == 'I'){ if (str[i-2] == 'K') koi++; if (str[i-2] == 'I') ioi++; i++; } } printf ("%d\n%d\n",koi,ioi); return 0; }
#include<stdio.h> #include<set> // by tream using namespace std; set<int> S; set<int>::iterator iter; void insert_division(int n); int main() { int a,b,c; scanf("%d %d %d", &a, &b, &c); insert_division(a); insert_division(b); insert_division(c); for(iter=S.begin() ; iter!=S.end() ; iter++) printf("%d ", *iter); printf("\n"); return 0; } void insert_division(int n) { int i; for(i=1 ; i*i<=n ; i++) { if(n%i==0) { S.insert(i); if(i*i!=n) S.insert(n/i); } } return; }
#include <stdio.h> #include <set> using namespace std; //by august14 set<int> S; int main() { int i,j,k; for (k=0;k<3;k++){ scanf ("%d",&j); for (i=1;i*i<=j;i++){ if (j % i == 0){ S.insert(j/i); S.insert(i); } } } while (!S.empty()){ printf ("%d ",*S.begin()); S.erase(S.begin()); } return 0; }
#include <stdio.h> #include <list> // by gs12065 int n; bool chk[205]; std::list < int > a, b; int main(){ scanf("%d", &n); int last, i; for(i=0; i<n; i++){ scanf("%d", &last); chk[last] = 1; } for(i=1; i<=2*n; i++){ if(chk[i]) a.push_back(i); else b.push_back(i); } last = 0; std::list < int >::iterator it; while(1){ for(it=a.begin(); it!=a.end(); it++){ if(*it > last){ last = *it; a.erase(it); break; } } if(a.size() == 0) break; else if(it == a.end()) last = 0; for(it=b.begin(); it!=b.end(); it++){ if(*it > last){ last = *it; b.erase(it); break; } } if(b.size() == 0) break; else if(it == b.end()) last = 0; } printf("%d\n%d\n", b.size(), a.size()); return 0; }
#include<stdio.h> int a[210],p1[210],p2[210], p=1; // by dijkstra int main() { int n,i,j,t; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&t), a[t]++; for(i=1;i<=2*n;i++) if(a[i]) p1[i]++,p1[0]++; else p2[i]++,p2[0]++; while(p1[0]&&p2[0]) { while(p<=2*n+1&&!p1[p++]); if(p-1<=2*n) p1[p-1]=0, p1[0]--; else p=1; if(!p1[0]) break; while(p<=2*n+1&&!p2[p++]); if(p-1<=2*n) p2[p-1]=0, p2[0]--; else p=1; } printf("%d\n%d",p2[0],p1[0]); }
#include<stdio.h> #include<algorithm> //by vega4792 struct _pos { int x, y; }star[211], all[1111]; int m,n,x,y,i,j,k,gapx,gapy,cnt,flag; bool comp(_pos q, _pos w) { if (q.x==w.x) return q.y < w.y; else return q.x < w.x; } main() { scanf("%d",&m); for(i=0; i<m; i++) scanf("%d%d",&star[i].x,&star[i].y); scanf("%d",&n); for(i=0; i<n; i++) scanf("%d%d",&all[i].x,&all[i].y); std::sort(all,all+n,comp); for(i=0; i<n; i++) { gapx=all[i].x - star[0].x; gapy=all[i].y - star[0].y; cnt=1; flag=0; for(j=1; j<m; j++) { for(k=0; k<n; k++) { if(i==k) continue; if(star[j].x+gapx==all[k].x && star[j].y+gapy==all[k].y) { cnt++; break; } if(star[j].x+gapx < all[k].x) { flag=1; break; } } if(flag) break; } if(cnt==m) break; } printf("%d %d",gapx, gapy); }
#include <stdio.h> #include <algorithm> using namespace std; //by august14 struct point{int x,y;}S[222],A[1111]; bool cmp(const point& a, const point& b){return (a.y == b.y) ? a.x < b.x : a.y < b.y;} int N,M; int main() { int i,j,k; scanf ("%d",&N); for (i=0;i<N;i++) scanf ("%d %d",&S[i].x,&S[i].y); sort(S,S+N,cmp); scanf ("%d",&M); for (i=0;i<M;i++) scanf ("%d %d",&A[i].x,&A[i].y); sort(A,A+M,cmp); for (i=0;i<M;i++){ j = 1; for (k=i+1;k<M&&j<N;k++){ if (S[0].x-S[j].x == A[i].x-A[k].x && S[0].y-S[j].y == A[i].y-A[k].y) j++; } if (j == N){ printf ("%d %d\n",A[i].x-S[0].x,A[i].y-S[0].y); break; } } return 0; }