- 在线时间
- 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-10061 {2 n8 a/ p5 a* {
. P; c& I1 ?* t+ c8 c0 X" D! K在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer0 G8 m6 t( @; `. U
! p6 F/ }# p+ N8 o
现将代码贴出,请帮忙看看:
, @4 D, z6 Z3 s2 M# }' V - #include <iostream>
- - a+ o\\" N0 `, A, H2 s
- using namespace std;
- 0 y% C6 A% \# x- R; r
- #define PH 00 ]' A6 w9 T) w( W
- #define EM 1* _4 k! P8 u; f9 S& w
- #define IN 2
- . I) B* R( R6 y. U
- int get_Top(int days, int kind);
- 4 U' ~) p5 T\\" F/ N5 z/ A
- int triple(int ptop, int etop, int itop, int cur);4 M3 H9 Y7 b( J& y) C$ }! ~3 M
- bool is_Integer(float n);
- 3 S\\" ^6 a1 N5 o [. ^
- int main()' w\\" k1 u2 ^; Q; c. I; M+ ~
- {- t- U% \* n k: [. O6 Q+ h
- int ptop, etop, itop;- w ^! ~* i4 j9 E @3 U+ u7 e
- int pdays, edays, idays, curdays;
- . f& z# G @3 k
- int count =0;
- . S! z! H$ c$ s2 V6 ]; j
- ^1 m2 F- B7 g+ b
- while(cin >> pdays >> edays >> idays >> curdays)
- # O: b' y% E3 c: P
- {1 ?# `0 m1 j% ^
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1), e7 Y W: ~4 n
- break;
- & u0 Y8 f\\" v* a0 ?
- count++;- d2 c/ S. H3 d& {, N# Y3 d
- ptop = get_Top(pdays,PH);
- , y: I5 e$ x6 Y9 |\\" f. X) ~; G3 j: f
- etop = get_Top(edays,EM);7 l5 \$ N% [- \
- itop = get_Top(idays,IN);
- ) a, q+ d2 S- s' Y7 G
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";7 x( p# Q% c3 g# a' Y# S5 [! V2 {
- }% ^4 g+ Y- [3 r9 n p% Y! b$ W; S
- \\" O; A9 `* b! p
- return 0;
- 5 E* b\\" u. c& }; d7 E4 q
- }& x/ B, a* A! C4 A! l
- int get_Top(int days, int kind)9 n: _! h$ B+ m' \0 ~+ n/ P
- {/ Z2 T1 j/ x& w& W/ V' d
- switch(kind)& z$ i) \) K5 d) b$ f
- {% P; V9 y+ Y, ?$ q+ f; T1 H
- case 0: o# \6 h$ X# B0 ? ?9 D5 k
- return days%23;
- 8 Y3 b+ N- z( E2 V$ a3 l1 g) L& f4 z
- case 1:
- n9 C9 u' g* ]% g
- return days%28;
- - d' d7 y3 f o9 N( @: n$ W5 {. M6 X
- case 2:0 j- v/ n0 o( O+ F; z& f9 Q; J# \
- return days%33;\\" w% J9 l- f# a+ E+ E
- }
- 6 D4 E2 v, Y! @6 `
- return 0;3 H% a8 I& ~3 N& Z2 L
- }
- ' V& m/ O9 }; M2 S8 D3 ?: T( }
- 5 E9 O- k( D( o\\" [* b$ q
- int triple(int ptop, int etop, int itop, int cur)% |: i* k: x( t* o4 \, z- ^6 }\\" l$ T8 ^
- {' Y% p3 x+ a0 H: P' ]0 }
- float x, y, z;/ H' J) w0 d2 }0 S6 Q+ A& }
- int m1 = etop-ptop-5,
- 7 F- _1 a* |3 P' y; O
- m2 = itop-etop-5;. N' |$ I+ B- b
- int temp = 0;
- 7 u/ ]/ o/ S( O
- for(z=2; (itop+(z-1)*33) <= 21252; z++)1 w! `# l( _$ u3 [
- {\\" E v' P$ V- c; z8 a9 z
- temp = m2 + 33*z;
- 3 _. f, i4 M% l\\" d+ M$ Z
- y = (float)temp/28;) J; F) f! b8 ]+ M
- x = (float)(m1+temp)/23;
- 9 C! V6 v1 a* r! D+ G% }2 R! g
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))' z/ [\\" l- t2 p
- return itop + (z-1)*33 -cur;
- ' r/ x& ?+ a( N5 b% c; e
- }
- 2 a) D* z' }% a$ d7 ]% J
- return 0;
- & e+ U6 S4 z; f$ ?
- }6 z# V, d' Y! }: @; N( Q9 Q
- # p2 v0 Q\\" X& f! E7 D
- bool is_Integer(float n)3 f a$ ]4 s4 o$ t; ~2 Z8 X$ A
- {
- ' D) A7 y( a, }3 \3 L0 l0 b
- if( (int)n - n ==0)
- 2 x0 D X# z: n9 w
- return true;
- $ v2 i2 J4 b6 P9 E& h3 r
- else! m `8 a6 q# n8 {3 p) S) ]
- return false;
- / v0 X& }+ U7 d5 u/ [
- }
- ( f7 x2 V6 K! ?% T, Q; B8 Z
- ) {\\" r; B1 o2 y2 I
4 U- K( c2 R, ?) A7 [$ C |
zan
|