2013夏休みACM合宿_12級週間試合3
44989 ワード
A
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/A
2つの誕生日を入力して、誰が年齢が大きいかを判断して、水題
View Code
B
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/B
年を入力して、その年の干支を求めて、年を探して、循環して求めればいいです.
注意範囲は-99999------+9999西暦0年は存在しない(試合時はこれでずっとWA).
View Code
C
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/C
2つのタクシーの料金プランを提供し、2つ目が1つ目の料金よりどれだけ高いかを求めます.費用が小数点以下になったので、二つの案を先に四捨五入して減算することに注意してください.
View Code
D
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/D
石のハサミの布の問題、法則を探して中間のあの文字列を入力して出力する結果です.
View Code
E
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/E
3つの数を入力して、後の2つの数のどの数と第1の数の差が最も小さいかを判断して、出力AあるいはB
View Code
F
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/F
G
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/G
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/A
2つの誕生日を入力して、誰が年齢が大きいかを判断して、水題
1 #include<stdio.h>
2 int main()
3 {
4 int n,i,a,b,c,x,y,z;
5 while(scanf("%d",&n)!=EOF)
6 {
7 for(i=1;i<=n;i++)
8 {
9 scanf("%d %d %d %d %d %d",&a,&b,&c,&x,&y,&z);
10 if(a>x)
11 printf("cpcs
");
12 else if(a<x)
13 printf("javaman
");
14 else if(a==x)
15 {
16 if(b>y)
17 {
18 printf("cpcs
");
19 }
20 else if(b<y)
21 printf("javaman
");
22 else if(b==y)
23 {
24 if(c>z)
25 printf("cpcs
");
26 else if(c<z)
27 printf("javaman
");
28 else if(c==z)
29 printf("same
");
30 }
31 }
32 }
33 }
34 return 0;
35 }
View Code
B
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/B
年を入力して、その年の干支を求めて、年を探して、循環して求めればいいです.
注意範囲は-99999------+9999西暦0年は存在しない(試合時はこれでずっとWA).
1 #include<stdio.h>
2 int main()
3 {
4 int a[10002],b[10002],c[10002],d[10002],i,n,x,y,m;
5 x=7;y=-9;
6 for(i=1;i<=9999;i++)
7 {
8 c[i]=x;
9 d[i]=y;
10 x--;
11 y++;
12 if(x<1)
13 x=10;
14 if(y>-1)
15 y=-12;
16 }
17 x=8;y=-10;
18 for(i=1;i<=9999;i++)
19 {
20 a[i]=x;
21 b[i]=y;
22 x++;
23 y--;
24 if(x>10)
25 x=1;
26 if(y<-12)
27 y=-1;
28 }
29 while(scanf("%d",&n)!=EOF)
30 {
31 for(i=1;i<=n;i++)
32 {
33 scanf("%d",&m);
34 if(m>=0)
35 {
36 if(a[m]==1)
37 printf("Jia");
38 else if(a[m]==2)
39 printf("Yi");
40 else if(a[m]==3)
41 printf("Bing");
42 else if(a[m]==4)
43 printf("Ding");
44 else if(a[m]==5)
45 printf("Wu");
46 else if(a[m]==6)
47 printf("Ji");
48 else if(a[m]==7)
49 printf("Geng");
50 else if(a[m]==8)
51 printf("Xin");
52 else if(a[m]==9)
53 printf("Ren");
54 else if(a[m]==10)
55 printf("Gui");
56 if(b[m]==-1)
57 printf("zi
");
58 if(b[m]==-2)
59 printf("chou
");
60 if(b[m]==-3)
61 printf("yin
");
62 if(b[m]==-4)
63 printf("mao
");
64 if(b[m]==-5)
65 printf("chen
");
66 if(b[m]==-6)
67 printf("si
");
68 if(b[m]==-7)
69 printf("wu
");
70 if(b[m]==-8)
71 printf("wei
");
72 if(b[m]==-9)
73 printf("shen
");
74 if(b[m]==-10)
75 printf("you
");
76 if(b[m]==-11)
77 printf("xu
");
78 if(b[m]==-12)
79 printf("hai
");
80 }
81 else if(m<0)
82 {
83 m=-m;
84 if(c[m]==1)
85 printf("Jia");
86 else if(c[m]==2)
87 printf("Yi");
88 else if(c[m]==3)
89 printf("Bing");
90 else if(c[m]==4)
91 printf("Ding");
92 else if(c[m]==5)
93 printf("Wu");
94 else if(c[m]==6)
95 printf("Ji");
96 else if(c[m]==7)
97 printf("Geng");
98 else if(c[m]==8)
99 printf("Xin");
100 else if(c[m]==9)
101 printf("Ren");
102 else if(c[m]==10)
103 printf("Gui");
104 if(d[m]==-1)
105 printf("zi
");
106 if(d[m]==-2)
107 printf("chou
");
108 if(d[m]==-3)
109 printf("yin
");
110 if(d[m]==-4)
111 printf("mao
");
112 if(d[m]==-5)
113 printf("chen
");
114 if(d[m]==-6)
115 printf("si
");
116 if(d[m]==-7)
117 printf("wu
");
118 if(d[m]==-8)
119 printf("wei
");
120 if(d[m]==-9)
121 printf("shen
");
122 if(d[m]==-10)
123 printf("you
");
124 if(d[m]==-11)
125 printf("xu
");
126 if(d[m]==-12)
127 printf("hai
");
128 }
129 }
130 }
131 return 0;
132 }
View Code
C
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/C
2つのタクシーの料金プランを提供し、2つ目が1つ目の料金よりどれだけ高いかを求めます.費用が小数点以下になったので、二つの案を先に四捨五入して減算することに注意してください.
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main()
5 {
6 int n;
7 scanf("%d", &n);
8 while(n--)
9 {
10 int d,time;
11 scanf("%d %d",&d,&time);
12
13 double m1=10.0,m2=11.0;
14 if(d>=3)
15 {
16 if(d>=10)
17 {
18 m1+=(14.0+(d-10)*3*1.0);
19 m2+=(17.5+(d-10)*3.75);
20 }
21 else
22 {
23 m1+=((d-3)*2.0) ;
24 m2+=((d-3)*2.5);
25 }
26 }
27 m1+=(1+time*0.4);
28 m2+=((time*2.5)/4);
29
30 int x=m1;
31 if(m1-x>=0.5)
32 x+=1;
33 int y=m2;
34 if(m2-y>=0.5)
35 y+=1;
36 printf("%d
",y-x);
37 }
38 return 0;
39 }
View Code
D
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/D
石のハサミの布の問題、法則を探して中間のあの文字列を入力して出力する結果です.
1 #include <stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4
5 int main()
6 {
7 char a[25],b[25],c[25];
8 int n,i;
9 while(scanf("%d",&n)!=EOF)
10 {
11
12 for(i=1;i<=n;i++)
13 {
14 memset(a,0,sizeof(a));
15 memset(b,0,sizeof(b));
16 memset(c,0,sizeof(c));
17 scanf("%s%s%s",a,b,c);
18 printf("%s will survive
",b);
19 }
20 }
21 return 0;
22 }
View Code
E
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/E
3つの数を入力して、後の2つの数のどの数と第1の数の差が最も小さいかを判断して、出力AあるいはB
1 #include<stdio.h>
2 #include<math.h>
3 #include<stdlib.h>
4 int main()
5 {
6 int n,i,a,m,b;
7 while(scanf("%d",&n)!=EOF)
8 {
9 for(i=1;i<=n;i++)
10 {
11 scanf("%d %d %d",&m,&a,&b);
12 if(abs(m-a)<abs(m-b))
13 printf("A
");
14 else
15 printf("B
");
16 }
17 }
18 return 0;
19 }
View Code
F
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/F
G
http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=36#problem/G