print " Á¦14ȸ ³ª´ÂÄÚ´õ´Ù °á°úÀÔ´Ï´Ù.
´ÙÀ½ ¸ðÀÇ°í»ç´Â koi4u¸ðÀÇ°í»ç·Î ¿¬°áÀÌ µË´Ï´Ù. ¸¹Àº Âü°¡ ¹Ù¶ø´Ï´Ù.
";
print "
¹ü·Ê : o - Accepted, x - Wrong Answer, s - signal out(runtime error), t - Time Limit Exceeded
";
print "Æò°¡ °á°ú
";
print "
Gold Medal - ÇÑ ¹øÀÌ¶óµµ Á¦ÃâÇÑ Âü°¡ÀÚÀÇ 10%, Silver Medal - Âü°¡ÀÚÀÇ 20%, Bronze Medal - Âü°¡ÀÚÀÇ 30%
";
print "
[ Winner!! ] (747pts)"; print "
: gs12117
"; print "
Gold Medal List!! (cutline 715pts)
: gs12117, gs12065
"; print "
Silver Medal List (cutline 467pts)
: mufflin, k5888200, gs12120
Bronze Medal List (cutline 250pts)
: gs12059, ainta, sunghyen, nextpeace
Rank | user | Strange (250) | Hope (350) | Bracket (400) | |
'.($rank[$i]+1).' | '; print ''.$iuser[$i].' | '; print ''.$ip1[$i].' | '; print ''.$ip2[$i].' | '; print ''.$ip3[$i].' | '; print ''.(floor($isc[$i])).' | '; print "
#include <stdio.h> long long n; long long e2[100],e3[100],N2,N3; int count; void f(long long N, int two, int three){ if(N==0){ count++; return ; } while(N%2==0) N/=2, two--; while(N%3==0) N/=3, three--; if(three>0) return ; int i,j; for(i=two;i>=0;i--) for(j=0;j<=N3;j++){ if(N-e2[i]*e3[j]>=0) f(N-e2[i]*e3[j],i-1,j+1); else break; } } int main(){ scanf("%lld",&n); while(n%2==0) n/=2; while(n%3==0) n/=3; int i; e2[0]=e3[0]=1; for(i=1;e2[i-1]<=n;i++) e2[i]=e2[i-1]*2; N2=i-1; for(i=1;e3[i-1]<=n;i++) e3[i]=e3[i-1]*3; N3=i-1; f(n,N2,0); if(n==1) count=0; printf("%d",count); }
#include <cstdio> #include <algorithm> #define M_MAX 3020 #define N_MAX 110 struct state { bool isLine; int num; } list[M_MAX*2], t; int n, m, map[M_MAX][M_MAX], nList[M_MAX][N_MAX], nFull[M_MAX], rNum[M_MAX], gList[M_MAX][N_MAX], gFull[M_MAX], rGroup[M_MAX], minNum, selected[M_MAX]; bool chk[M_MAX][M_MAX]; int getScore(state &x){ return x.isLine?rNum[x.num]:rGroup[x.num]; } bool compare(state &x, state &y){ return getScore(x) < getScore(y); } void process(state &x, bool recur){ int i, d; bool find=0; if(x.isLine){ for(i=0; i<nFull[x.num]; i++){ //printf("_%d %d\n", x.num, nList[x.num][i]); if(chk[x.num][nList[x.num][i]]){ chk[x.num][nList[x.num][i]] = 0; rGroup[nList[x.num][i]]--; if(!find) { selected[nList[x.num][i]] = x.num; d = nList[x.num][i]; rGroup[d] = n+1; find = 1; } } } for(i=0; i<gFull[d]; i++) if(chk[gList[d][i]][d]) chk[gList[d][i]][d] = 0; rNum[x.num] = n+1; } else { for(i=0; i<gFull[x.num]; i++){ if(chk[gList[x.num][i]][x.num]){ chk[gList[x.num][i]][x.num] = 0; rNum[gList[x.num][i]]--; if(!find) { selected[x.num] = gList[x.num][i]; d = gList[x.num][i]; rNum[d] = n+1; find = 1; } } } for(i=0; i<nFull[d]; i++) if(chk[d][nList[d][i]]) chk[d][nList[d][i]] = 0; rGroup[x.num] = n+1; } } void getMin(){ minNum = 0; int i; for(i=1; i<2*m; i++) if(getScore(list[i]) < getScore(list[minNum])) minNum = i; } int main(){ scanf("%d%d", &m, &n); int i, j, t; for(i=1; i<=m; i++){ for(j=1; j<=n; j++){ scanf("%d", &t); if(!map[t][i]){ map[t][i] = j; chk[t][i] = 1; nList[t][nFull[t]++] = i; gList[i][gFull[i]++] = t; } } } for(i=0; i<m; i++){ rGroup[i+1] = gFull[i+1]; list[i*2].isLine = 0; list[i*2].num = i+1; rNum[i+1] = nFull[i+1]; list[i*2+1].isLine = 1; list[i*2+1].num = i+1; } getMin(); while(getScore(list[minNum]) <= n){ process(list[minNum], 0); getMin(); } for(i=1; i<=m; i++) printf("%d %d\n", selected[i], map[selected[i]][i]); return 0; }
#include<stdio.h> int n; int code[1010]; int codeb[2010]; char str[2010]; int f(int a,int b){ if(a==b)return 1; int i,j=0,k=0; for(i=a;i<b;i++){ j+=codeb[i]; k+=codeb[i]*i; } if(j!=(b-a)/2)return 0; if(k!=j*(a+b)/2)return 0; for(i=a+1;i<=(a+b)/2;i++){ if(codeb[i]){ codeb[i]--; if(f(a+1,2*i-a-1)==1&&f(2*i-a,b)==1){ str[a]='['; str[2*i-a-1]=']'; codeb[i]++; return 1; } codeb[i]++; } } return 0; } int main(){ int i,j; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&code[i]); codeb[code[i]]++; } if(f(0,2*n)==0)printf("ERR"); printf("%s",str); }