- 在线时间
- 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
) [% H5 K+ O: z1 ]: {+ S
* u5 }9 c, t# f* l. y p, Z在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
! {; U! J# t+ N6 r Z+ Z% x9 x6 Y$ G# P9 g
现将代码贴出,请帮忙看看:
5 j9 u, M) R2 u: V _1 C: s* U9 J - #include <iostream>
- 0 x; u, E6 N) f# Z\\" Z8 P
- using namespace std;
- 7 R3 }/ o3 D2 v3 o1 N+ h
- #define PH 08 j# ]4 ]! U! l9 o. N* B
- #define EM 1
- 2 I+ J. R2 u( n& F
- #define IN 21 K( c& e+ \; `2 G2 d, R
- int get_Top(int days, int kind);
- 3 \+ a2 X2 S' S! i; v9 y
- int triple(int ptop, int etop, int itop, int cur);
- 2 s1 v; B( U; |, Y
- bool is_Integer(float n);
- % k! z3 O3 \' g- F. U
- int main()
- 2 r1 W0 v0 D/ Z: F1 ^: e C/ T
- {
- 0 Z\\" b/ E6 _3 o- S
- int ptop, etop, itop;4 h6 m$ |7 \% d- \# T; n* r
- int pdays, edays, idays, curdays;
- ; { F; X) ~0 q0 Q% I. z
- int count =0;
- % k6 S* D0 z\\" U: P! c) h. d
-
- 6 q+ z) w& X5 ]\\" h( B3 M
- while(cin >> pdays >> edays >> idays >> curdays)* ]% w) l8 v. B/ t* t
- {
- % _1 i5 J1 x8 G\\" ~) e# s+ C
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)+ d' ?/ _! {\\" ]4 n
- break;; E5 O/ ?# i4 l+ A3 z- m5 }
- count++;9 \2 J\\" L+ r/ Q% E
- ptop = get_Top(pdays,PH);
- 0 H$ k: Y6 u( d( V
- etop = get_Top(edays,EM);4 M% ] m# D0 r
- itop = get_Top(idays,IN);$ }) T& E1 U% G0 u; y. b2 f* A
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
- 3 b, Z, g g4 b% @8 V
- }* q# D% {' t( m- M: i
- / l) v' W/ G4 r2 r; C+ K
- return 0;
- ! w5 ?5 u- j# X
- }0 d( t8 C d, A: ?: z4 O+ |* x) m
- int get_Top(int days, int kind): K$ p+ y8 g\\" y2 ?) R
- {9 M- e. {: C6 R: B: i' ^
- switch(kind)
- 4 f* t9 w D4 L
- {
- 3 }# n+ _% o9 Q- U6 ?\\" o
- case 0:0 M- a- `. P\\" \! C
- return days%23;
- * U0 Q9 R5 `6 U# p2 S, {0 Z& t
- case 1:8 t1 U/ z9 I. s$ \6 [3 g9 v# c
- return days%28;
- $ y# L& d: X! s8 V0 O1 n3 w: H
- case 2:6 U( o% L s! z- V
- return days%33;
- 5 n, d) U) U# f
- }
- & y9 q7 [# J* r) p
- return 0;
- ' l. {* D! m! q% J |9 s
- }. P) V+ z; u8 P1 G% W/ x; h
- $ k- B& T\\" K; k# O {9 F) Z) }% P4 t
- int triple(int ptop, int etop, int itop, int cur)
- ( {! P0 w: U9 Q\\" H) ]% ]
- {& z6 t6 I8 t- `7 h4 [3 B+ o
- float x, y, z;1 x0 ]7 e! N. W% Y
- int m1 = etop-ptop-5,
- - z; I2 B' l4 |5 r9 U
- m2 = itop-etop-5;5 L* D {& K N* R6 b' e
- int temp = 0;/ }% ~- l- w% X& U
- for(z=2; (itop+(z-1)*33) <= 21252; z++)
- % X+ N% p( t) P, t+ I: q
- {: Y7 i+ G. Q# a' x# x; o
- temp = m2 + 33*z; F8 S+ q& B) g% t; A
- y = (float)temp/28;
- 4 K& v1 D+ J+ \
- x = (float)(m1+temp)/23;
- ; D' e# O\\" q* V3 F ]# x1 o; R
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
- . r4 _. W' ?9 [/ v\\" m+ g+ v, ]
- return itop + (z-1)*33 -cur;2 z. \( o% Z' x+ `+ s; I
- }& S- }5 {7 Q- `
- return 0;
- c4 K3 H2 Z t
- }9 {' C# I0 y9 S# y9 H
- + g# D7 T$ z; J
- bool is_Integer(float n)4 z0 B% _5 ^! Z8 E1 y
- {# L3 d! O1 e, V& r# O9 A! @* Z* h
- if( (int)n - n ==0). A7 b9 q* b7 ^! P }% v
- return true;# Q( V6 M( ^: W, L( Z6 n: G7 d( _
- else
- M h$ H5 y$ F5 o( P2 s, ?
- return false;( K, ~( _; ^6 p Z9 y8 Z$ U' V
- }
- 9 l6 b# Z3 } p' m6 m' O+ Z% |
- % x6 M) V& h* x- [& D1 ~. Q, M
7 v% s) {- P Q3 d4 q0 w( I2 [ |
zan
|