- 在线时间
- 0 小时
- 最后登录
- 2010-11-12
- 注册时间
- 2010-8-27
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 46 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 16
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 5
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   11.58% 该用户从未签到
 |
POJ-1006
7 ~" r) g' t% s9 T: B
/ ^, L; t8 E6 S' T2 g' k% b在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
+ ?& r3 x% x+ [3 D1 Y; B0 S- T5 |* m y! W' H" h; Y6 l
现将代码贴出,请帮忙看看:
) g2 F7 N, ?! y8 d) F9 u5 G - #include <iostream>
- , d+ f) {0 n* `8 P- { ~
- using namespace std;( p2 @/ c) l5 q4 j4 B
- #define PH 0
- - B% o V. C( M. a' c+ O
- #define EM 1
- . t+ i\\" ^; h! Y6 Y
- #define IN 2
- 2 X0 _* b9 W: F$ t
- int get_Top(int days, int kind);
- . o0 U% l8 h* W8 t; O8 N+ V2 E
- int triple(int ptop, int etop, int itop, int cur);
- ! v0 M+ }/ E* W) U5 @( B
- bool is_Integer(float n);
- , [; b0 ~5 \- U
- int main()) |0 M6 e6 o9 b5 p: w
- {
- ( x$ x5 Z \$ b% f7 ~
- int ptop, etop, itop;
- - c$ ~( o3 A0 Z L8 M
- int pdays, edays, idays, curdays;
- , V( Z+ N+ j) c0 N3 O
- int count =0;\\" ?: J0 J7 c! j4 D1 t/ Q
- : U5 e' B. b R# F& g; |
- while(cin >> pdays >> edays >> idays >> curdays)
- 3 a. P& a& Z/ E# L5 }
- {/ o9 j- i5 {) g
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)9 _, i1 P; ^! L) l: y5 b
- break;
- # @: D7 H8 @( T8 l2 v5 m
- count++;
- & q& ^# @7 n! j3 Z# w$ F: t
- ptop = get_Top(pdays,PH);8 @, h# t- V& F4 U
- etop = get_Top(edays,EM);
- 1 K1 Z3 |, [7 \' c: x i
- itop = get_Top(idays,IN);/ S! n8 @5 \& [' C- F$ J/ F
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
- $ o$ m T) u+ @ b& e
- }
- * z- ]1 a3 n2 _9 k, v( { k8 Q) ^
- 8 ^; x0 Q$ t: `+ f% a
- return 0;7 ^) f2 x2 {- ]' C. S
- }
- , O `: j2 h( z0 O
- int get_Top(int days, int kind)6 N. r, ~; _& ?. l
- {$ S! u5 N: Q2 d\\" _
- switch(kind)% [9 G5 b8 o/ y6 f
- {
- 7 o$ K3 e. z7 P+ l/ V
- case 0:
- , i; K$ i, C; r4 A
- return days%23;$ H) L5 L; k$ e\\" R: u2 z
- case 1:\\" Y& A/ K- t2 F4 Q
- return days%28;8 `/ J\\" ?8 j5 Z
- case 2:
- 3 g- R, F) g W+ @
- return days%33;1 q9 r8 K6 u) w
- }
- 4 r$ z, W) e4 m- }
- return 0;
- - J% u7 s* a/ A; z' b5 t; R
- }
- ( M) F) h* s' n* o/ `% V
- ; K( I( D\\" D' x+ A0 z
- int triple(int ptop, int etop, int itop, int cur); r' |. c& @0 {! t+ X+ D6 C
- {
- 5 I2 h* k1 Y8 R' T% ]6 d\\" |
- float x, y, z;# [# t4 @2 ^9 ^8 [* m& o/ w# v
- int m1 = etop-ptop-5,* p+ F5 J4 o s- N0 L5 m
- m2 = itop-etop-5;: X. C3 b& t! g! B
- int temp = 0;
- 6 R, Y2 l\\" g3 _+ x4 g4 k+ _+ z
- for(z=2; (itop+(z-1)*33) <= 21252; z++)
- * s$ d; Z6 x0 a- Q1 T
- {
- 5 f# n [3 E6 f7 C! y
- temp = m2 + 33*z;' @/ \0 ^4 i1 r1 \! Z+ k+ o
- y = (float)temp/28;
- - H2 X; x/ c/ L
- x = (float)(m1+temp)/23;, M8 L2 [- y8 g0 x! d* R/ {
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
- ; e# [- p8 K* h7 I. F) C
- return itop + (z-1)*33 -cur;( X. O& c) J: p- U& E5 I: \; q
- }
- t4 d/ Y7 ?+ z0 a
- return 0;& v) {! O7 k0 e# {8 T
- }
- 4 A3 K# J' a1 \+ K, G6 L
- $ X% |( S+ `$ C0 N+ k E. x
- bool is_Integer(float n) m' ]+ f, z* R! d
- {
- . Q p- y; c+ B$ M$ d* G' K% l
- if( (int)n - n ==0)
- 0 |1 R3 p E! g$ `
- return true;3 t! Z3 |: P, ]4 M$ @' t, b7 B# k\\" s
- else
- % M1 [1 [+ s5 h8 T3 F$ |
- return false;5 j* e; x& o3 P; }' ]& k r e* `
- }5 I' ?6 M/ ]% F/ y0 V# T8 a7 x
- + q3 B7 @0 Q6 y7 l4 g+ {1 R G
% j1 F$ |& E5 I2 h. F F
|
zan
|