發表文章

[ZJ]d562: 山寨版磁力蜈蚣

題目: http://zerojudge.tw/ShowProblem?problemid=d562 ----------------------------------------------------------------------------------------------------------------- #include<cstdio> int main() { int n; while(scanf("%d",&n)!=EOF) { int a[102]={0}; for(int i=0;i<n;i++) scanf("%d",&a[i]); int head = 0,tail = n-1; for(int i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); for(int i=2;i<=n;i++) { if(i % 2 == 0) { head++; for(int j=tail;j>=head;j--) printf("%d ",a[j]); printf("\n"); } else { tail--; for(int j=head;j<=tail;j++) printf("%d ",a[j]); printf("\n"); } } } return 0; }

[ZJ]b682: 高中組第二題-同學早安

題目: http://zerojudge.tw/ShowProblem?problemid=b682 ----------------------------------------------------------------------------------------------------------------- #include<cstdio> int main(void) { int H1,M1,H2,M2; while(scanf("%d%d%d%d",&H1,&M1,&H2,&M2)!=EOF) { int a = 0, b = 0; if(H2 > H1) a = H2 - H1; else a = 24 - H1 + H2; if(M2 >= M1) b = M2 - M1; else { a = a -1; b = 60 - M1 + M2; } if(H1 == H2) { if(M1 > M2) a = 23; else a = 0; } printf("%d %d\n",a,b); } return 0; }

[ZJ]a307: NOIP2011 1.数字反转

題目: http://zerojudge.tw/ShowProblem?problemid=a307 ---------------------------------------------------------------------------------------------------------------- #include <bits/stdc++.h> using namespace std ; int main() { long long int in0 ;   while (cin >>in0 ){   if(in0 < 0)   {   in0 = -in0; printf("-"); } if (in0==0 ){   cout << 0 ;   break; }   while (in0%10==0&&in0>0){   in0/=10;   }   while (in0){   cout <<in0%10 ;   in0/=10 ; } cout <<endl ; } return 0; }

[ZJc084][UVA275] - Expanding Fractions

題目: http://zerojudge.tw/ShowProblem?problemid=c084 ------------------------------------------------------------------------------------------------------------------ #include<bits/stdc++.h> #define maxn 1000+1 using namespace std; int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF && a || b) { int x = 0,s1[maxn]={0},s2[maxn]={0}, len = 0, z = 0; s2[0] = a; while(1) { z = 0; x++; s1[x] = a * 10 / b; a = (a * 10) % b; s2[x] = a; if(!a) { len = -1; break; } for(int i=0;i<x;i++) { if(s2[x] == s2[i]) { z = 1; len = x - i; break; } } if(z) break; } printf("."); for(int i=1;i<=x;i++) { printf("%d",s1[i]); if((i + 1) % 50 == 0) printf("\n"); } printf("\n"); if(len > 0) printf("The last %d digits repeat forever.\n",len); if(len == -1) ...

[ZJd044][UVA640] Self Numbers

題目: http://zerojudge.tw/ShowProblem?problemid=d044 ----------------------------------------------------------------------------------------------------------- #include<bits/stdc++.h> #define maxn 1000000+1 using namespace std; int a[maxn] = {0}; int main() { int x = 0, j = 0; for(int i=1;i<maxn;i++) { j = i; if(a[j] == 0) { while(1) { x = j; while(j > 0) { x += j % 10; j = j / 10; } if(x < maxn && a[x] == 0) { a[x] = 1; j = x; } else break; } } } for(int i=1;i<maxn;i++) if(a[i] == 0) printf("%d\n",i); return 0;  }

[ZJc061][UVA530] - Binomial Showdown

題目: http://zerojudge.tw/ShowProblem?problemid=c061 -------------------------------------------------------------------------------------------------------------------- #include<bits/stdc++.h> using namespace std; typedef long long int LL; int main() { LL n,m; while(scanf("%lld%lld",&n,&m)!=EOF && n || m) { if(2 * m > n) m = n - m; LL ans = 1; for(int i=1;i<=m;i++) ans = ans * (n - m  + i) / (i); //乘一個數就除一個數 printf("%lld\n",ans); } return 0; }

[ZJ]a858: 數三角形

題目: http://zerojudge.tw/ShowProblem?problemid=a858 -------------------------------------------------------------------------------------------------------------- #include<bits/stdc++.h> using namespace std; int main() { int n;     while(scanf("%d", &n)!=EOF) {     int ans = n*(n-1)*(n-2)/2/3;     int temp = 0;     for(int i = 0; i < n; i++)     {         int r = 0, b = 0;        for(int j = 0; j < n; j++)         {             int p;             scanf("%d", &p);             if( p == 1 ) r++;             if( p == 2 ) b++;         }         temp += r*b;     }     ans -= temp/2;     printf("%d\n", ans); } return 0; }