print " Á¦17ȸ ³ª´ÂÄÚ´õ´Ù °á°úÀÔ´Ï´Ù.
´ÙÀ½¿¡ ÁغñÁßÀÎ ¸ðÀÇ°í»ç¿¡µµ Âü°¡ÇØ Áֽñ⠹ٶø´Ï´Ù.
";
print "
¹ü·Ê : o - Accepted, x - Wrong Answer, s - signal out(runtime error), t - Time Limit Exceeded
";
print "
[ Winner!! ] (1000pts)"; print "
: gs12117
"; print "
Gold Medal List!! (over 983pts)
: gs12117, dijkstra
"; print "
Silver Medal List (over 720pts)
: ainta, gs12120, gs12065, gs12006
Bronze Medal List (over 241pts)
: gs13068, gs11028, gs11008, admin
Rank | user | Wolf&Sheep (250) | Hard Disk (250) | Wide LCD_TV (250) | The War (250) | |
'.($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> int m[7][7],i,j,k,l,cnt; main() { for(i=1;i<=5;i++) for(j=1;j<=5;j++) scanf("%d",&m[i][j]); for(l=1;l<=25;l++) { scanf("%d",&k); for(i=1;i<=5;i++) for(j=1;j<=5;j++) if (m[i][j]==k) { m[i][j]=0; m[i][0]++; m[0][j]++; if (i==j) m[0][0]++; if (i+j==6) m[0][6]++; } cnt=0; for(i=0;i<=6;i++) if(m[0][i]==5) cnt++; for(i=1;i<=5;i++) if(m[i][0]==5) cnt++; if(cnt>=3) { printf("%d\n",l); break; } } }
#include <stdio.h> int n; int a[15]; int b[15]; bool flag=0; bool chk[15]; void proc(int k, int ans) { if(k==n) { if(ans == 0) flag = 1; return; } int i; for(i=1;i<=n;i++) { if(chk[i] == 1) continue; if(ans < i*a[k]) continue; chk[i] = 1; b[k] = i; proc(k+1,ans-i*a[k]); if(flag == 1) break; chk[i] = 0; } return; } int main() { int f,tmp[15][15]={0},i,j; scanf("%d %d",&n,&f); tmp[0][0] = 1; for(i=1;i<n;i++) { for(j=0;j<=i;j++) { if(j==0) tmp[i][j] = 1; else tmp[i][j] = tmp[i-1][j-1] + tmp[i-1][j]; } } for(i=0;i<n;i++) a[i] = tmp[n-1][i]; proc(0,f); for(i=0;i<n;i++) { printf("%d ",b[i]); } return 0; }
#include<algorithm> #include<cstdio> using namespace std; main() { int i,j,n,k; int d[10][10]; scanf("%d%d",&n,&k); for(i=0;i<n;i++)d[0][i]=i+1; do { for(i=1;i<n;i++) { for(j=0;j<n-i;j++) d[i][j]=d[i-1][j]+d[i-1][j+1]; } if(d[n-1][0]==k) break; }while(next_permutation(d[0],d[0]+n)); for(i=0;i<n;i++)printf("%d ",d[0][i]); }
#include<stdio.h> int n,x[2000],q[2000][2000]; int max(int p,int q){ return p>q?p:q; } int f(int a,int b){ if(q[a][b]); else if(a==b){ q[a][b]=x[a]*n; } else q[a][b]=max( f(a+1,b)+x[a]*(n-b+a), f(a,b-1)+x[b]*(n-b+a)); return q[a][b]; } int main(){ int i; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&x[i]); } printf("%d",f(0,n-1)); }
#include<stdio.h> int m(int a,int b){if(a>b)return a;return b;} int w[2002],i,j,n,D[2001][2001],s[2002]; int main(){ scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&w[i]); s[i]=s[i-1]+w[i];} for(i=1;i<=n;i++)D[i][i]=w[i]; for(i=1;i<n;i++){ for(j=1;j<=n-i;j++){ D[j][j+i]=m(D[j+1][j+i],D[j][j+i-1])+s[j+i]-s[j-1];}} printf("%d\n",D[1][n]); }
#include <stdio.h> #define MN 14 #define _2N 8192 #define max(a,b) (((a)>(b))?(a):(b)) int n; double c[MN][MN][_2N], p[MN]; bool ch[MN][MN][_2N]; void input() { int i, j; scanf("%d", &n); for (i = 1; i <= n; i++) { scanf("%d", &j); p[i] = (double)j/100; } } double f(int k, int i, int S) { if (!(S&(1<<(k-1)))) return 0; if (!ch[k][i][S]) { int a, b, na, nb; char w[MN], wc; double G, m, re; for (b = i+1;; b++) { if (b > n) b = 1; if (S&(1<<(b-1))) { nb = b; break; } } G = 1; for (a = i;;) { if (S&(1<<(a-1))) { for (b = nb+1;;b++) { if (b > n) b = 1; if (S&(1<<(b-1))) { na = nb; nb = b; break; } } m = 0; wc = 0; for (b = a+1;;b++) { if (b > n) b = 1; if (b == a) break; if (S&(1<<(b-1))) { if (b != na) { re = f(a,na,S-(1<<(b-1))); if (m == re) w[++wc] = b; else if (m < re) { m = re; wc = 1; w[wc] = b; } } else { re = f(a,nb,S-(1<<(b-1))); if (m == re) w[++wc] = b; else if (m < re) { m = re; wc = 1; w[wc] = b; } } } } for (int j = 1; j <= wc; j++) { b = w[j]; if (S&(1<<(b-1))) { if (b != na) { re = f(a,na,S-(1<<(b-1))); if (m == re) c[k][i][S] += G*p[a]*f(k,na,S-(1<<(b-1)))/wc; } else { re = f(a,nb,S-(1<<(b-1))); if (m == re) c[k][i][S] += G*p[a]*f(k,nb,S-(1<<(b-1)))/wc; } } } G *= 1-p[a]; } if (++a > n) a = 1; if (a == i) break; } if (1-G == 0) c[k][i][S] = 0; else c[k][i][S] /= 1-G; ch[k][i][S] = 1; } return c[k][i][S]; } void process() { int i; for (i = 1; i <= n; i++) c[i][i][1<<(i-1)] = ch[i][i][1<<(i-1)] = 1; for (i = 1; i <= n; i++) printf("%.2lf ", f(i,1,(1<<n)-1)*100); } int main() { input(); process(); fcloseall(); return 0; }
#include <stdio.h> #define MN 100001 int n, a, b; int d[MN], t[MN]; int main() { int i, p, k; scanf("%d%d%d", &n, &a, &b); if (a+b-1 <= n && n <= (long long)a*b) { for (i = 1; i <= n; i++) d[i] = n+1-i; k = p = n; while (k-(a-1) > b) { k -= a-1; p -= a; for (i = 1; i <= a; i++) t[p+i] = d[p+a+1-i]; for (i = 1; i <= a; i++) d[p+i] = t[p+i]; } a = k-b+1; p -= a; for (i = 1; i <= a; i++) t[p+i] = d[p+a+1-i]; for (i = 1; i <= a; i++) d[p+i] = t[p+i]; for (i = 1; i <= n; i++) printf("%d ", d[i]); } else printf("-1"); return 0; }