- 在线时间
- 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
5 H% L: F, m' Q7 S+ `- m8 n, H! Y4 z% H. S- ^7 c
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer: W# x: K% f4 u/ _( {
1 r8 K- J7 |: H" S现将代码贴出,请帮忙看看:! h4 o- R9 c( Z8 |3 `
 - #include <iostream>
- ! m: w a% j7 S
- using namespace std;
- 4 j3 N! S3 K. E5 m. b9 _ }9 b
- #define PH 0/ Y\\" a, ?, H7 a! w4 A: s
- #define EM 1
- % D, G1 R( I5 m8 i; y
- #define IN 2
- ) c9 q/ {5 K1 i. y: _/ x
- int get_Top(int days, int kind);; S3 Y: `7 _$ q2 n
- int triple(int ptop, int etop, int itop, int cur);. g0 M; \& G0 [* K6 E0 O1 y0 ?' i\\" ?
- bool is_Integer(float n);
- * Q z7 ^5 }' y) t
- int main()
- & ]% y* z( T7 r! ~7 U
- {# e7 x0 M( O, X- h
- int ptop, etop, itop;& v& s x6 ?' [- ]\\" k( W\\" k! F% O& D
- int pdays, edays, idays, curdays; y* r6 `- u$ Q: H: P
- int count =0;
- / V5 q0 n1 P) ]3 i$ |
- \\" r\\" h! Q: W$ G( l. Z( T
- while(cin >> pdays >> edays >> idays >> curdays); \7 o/ g. D6 k9 T9 k( [
- {
- 4 _. f5 @& t/ t
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
- 6 N2 k* i/ M0 v4 |- X/ X4 U7 E% h
- break;* \8 u/ c$ z/ ]9 k
- count++;$ ?' ^- C\\" l @+ K' {/ q
- ptop = get_Top(pdays,PH);' ^. q7 D0 D% @1 Z. t
- etop = get_Top(edays,EM);4 D6 x9 o/ h/ E6 d2 O9 p
- itop = get_Top(idays,IN);* G( l) S$ k4 ~; ]. j$ x
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
- 1 d% t' [& E\\" J' q
- }& ?) A1 c: Z+ L6 O Z O7 m6 k
- ' k& a: [9 |4 Y( Z
- return 0;
- . b' f5 D. q/ H0 K; @
- }2 R4 P* d' J/ f: B
- int get_Top(int days, int kind)
- - _, o$ X- C* C# p$ e, T. u
- {
- ; M2 U- w A+ b5 Z8 T
- switch(kind)* s7 P2 E' b( y1 x( x v
- {
- : O* K- `$ z1 K+ w1 O
- case 0:& i7 z$ g5 C) U; D* s1 ]2 J& ~
- return days%23;
- 8 m- q( j- K) }$ n+ z! k7 }/ f
- case 1:
- ) q, Y q% v' g3 R7 F: f
- return days%28;
- ( L2 q3 q8 d t& s9 u- @$ Q9 ]
- case 2:
- 9 x% x$ f% {# O+ S) H* |
- return days%33;. t# W2 @& w! q\\" @. A' y+ u/ t$ S i
- }, s; k6 Q: ?5 Y0 H/ E\\" Y2 B+ H& F
- return 0;
- ; K ^* B\\" w L2 E0 B/ Z% |
- }
- 5 F& K E, d* A. Y4 T
- % D5 z# F; J3 [' m+ E* i3 ]
- int triple(int ptop, int etop, int itop, int cur)3 n0 s3 x. Q8 L- R; p
- {2 V+ V' G7 P% G: m9 E9 }
- float x, y, z;
- + W- U, d; n K. }
- int m1 = etop-ptop-5,. i3 N) Q1 U7 ]4 I) _
- m2 = itop-etop-5;! X5 F4 ?% @& K$ W, |# z
- int temp = 0;
- , @( r6 k: L* r$ ?
- for(z=2; (itop+(z-1)*33) <= 21252; z++)' U! g' y- ^% D7 l' X. Y( z
- {0 ^7 N. z! H1 z3 @, l' S+ k
- temp = m2 + 33*z;
- 7 y0 u- \! A2 X8 u* T
- y = (float)temp/28;
- ; _ W2 b+ e8 M. O
- x = (float)(m1+temp)/23;
- 6 t1 |! A& s, p+ N
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
- / v8 s8 X3 C/ x6 ^. F* ~. i
- return itop + (z-1)*33 -cur;
- \\" P0 Y5 z0 Z; t9 P0 j# h
- }
- 7 w' T. K! f( r7 g( G
- return 0;$ Q! G/ G: o3 H; L4 }4 D
- }
- 2 t, i. H8 e, R: g* P$ K3 @
- ) L$ @2 K7 T1 E4 Q
- bool is_Integer(float n)- \\\" J# B/ K: e+ X5 E
- {
- 6 B; w O4 ?+ f! a: ^# x0 J
- if( (int)n - n ==0)
- 2 D! \: i8 u5 e4 @2 E8 I4 {
- return true;
- : D* v3 ~# c- ^! R* I, j
- else
- 1 s1 ?2 h i7 z8 M
- return false;
- $ D$ |5 \' u; j: L
- }
- : k# p/ {: k$ _! [2 ^ @
- ! H# K4 r\\" U* R( C' M
2 J6 {! m r9 E" D* N
|
zan
|