在线时间 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
$ |6 K% X; V l5 w1 A, E9 a( S
- q! _+ \" h: x) u3 f 在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer" X* c6 `0 P4 c( }& A
: F5 E# V: D6 P& J2 k 现将代码贴出,请帮忙看看:
; c# d0 [5 h: Y v& _% r6 {- D #include <iostream>5 h0 G; [! k; S) i* j: m
using namespace std;
5 L) j$ ~! w8 A- [ #define PH 01 J2 S1 y a( y; S
#define EM 1) Q# E& F; n8 \2 A5 z
#define IN 21 t- u* `% a- o/ z5 m
int get_Top(int days, int kind);
+ r1 L) \. B6 k5 y, o0 p$ k int triple(int ptop, int etop, int itop, int cur);
4 Q' p8 O& Q. t4 a0 g bool is_Integer(float n);
( w2 q8 _\\" \% H! s5 {\\" q. x int main()0 y+ h# F6 z, h! R3 H3 U
{
* d5 C* M. N! A+ a: V0 h- d int ptop, etop, itop;\\" i. M* g! _/ ]1 H1 s1 t
int pdays, edays, idays, curdays;1 K0 |1 A. e$ `\\" ]
int count =0;* a' |% n6 U# Y9 ]* |$ B5 U5 @
3 Y3 Z3 J6 P# F* c' U while(cin >> pdays >> edays >> idays >> curdays) p0 c* P! o8 C/ K\\" N
{5 m- F) f4 T9 e% L3 m, f6 \& W
if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1): U* S# T/ i: ~( i# X( p
break;
: p: s; B1 R9 {) P count++;0 @; x) @& D5 D0 B7 x# K' s
ptop = get_Top(pdays,PH);
5 n) I/ Q: O5 S3 g3 ^5 A etop = get_Top(edays,EM);
4 O/ Q! y4 C4 S3 x! {) R itop = get_Top(idays,IN);* g0 H& ]\\" y+ f* B2 k! w; U. q
cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
! O) V3 h. O0 Q }& A: h) F\\" x) N L! n* y$ N( n5 c
: [) V3 }: c+ G& Q4 I
return 0;3 K0 d/ l# F l+ s6 E7 ]
}: B0 _7 M, b4 T i
int get_Top(int days, int kind)
# v. a\\" Z\\" {+ o% v: _2 ]* t; D1 o {
) h+ e) _\\" P, I: f6 n4 s3 h' Y switch(kind)
4 M% O V2 ?/ X. ]- e; ^ {
& X. a: r+ h# n( k1 _: M\\" i6 u case 0:* z& d\\" G: w6 w1 K+ {- {* T
return days%23;
1 @; O* E y8 |\\" F\\" B6 c case 1:
, K- e, z4 S. D. A3 W2 I: { return days%28;
5 ^& ~8 v2 P/ x; }' y6 z3 V case 2:9 F) z9 G\\" F4 t\\" @$ e
return days%33;1 M# |3 r1 E, ]5 f- ~* j
}# h: E, a; z% E+ e+ p( ^8 b
return 0;
4 C. I# b e) Y0 } }
+ p5 I+ C' I$ v ' \7 Q% g; O' ]# z3 [9 c: C
int triple(int ptop, int etop, int itop, int cur)
( B; b1 d& }\\" Y* @2 T {
( t0 ]\\" @; Q( i5 L. | float x, y, z;
' `, N' W m( ]\\" y int m1 = etop-ptop-5,
. T1 n# \9 k1 j2 R% W ]+ _; x$ [ m2 = itop-etop-5;
2 M- c) }4 m( E$ m% j: r: { int temp = 0;
# Y. p+ H5 C% e for(z=2; (itop+(z-1)*33) <= 21252; z++)% z y' m6 p$ a\\" o
{
: n: G* ] D1 W) }; n temp = m2 + 33*z;! G' C0 b( A7 `% |
y = (float)temp/28;; I( s' ^7 K# r7 `+ ~1 \ {\\" X, o: R
x = (float)(m1+temp)/23;
6 }0 v' [1 f. ~2 q3 y if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
|. }, g/ l) {) \- O return itop + (z-1)*33 -cur;
& L! j5 T9 { f }, l2 N3 [ f5 U7 E
return 0;6 P/ C$ z+ Q; Q, f# d* y
}
' Y, x$ j2 A3 i8 Z1 F $ B) m' m/ r N\\" u7 _
bool is_Integer(float n)
. w6 z\\" v; Z f, b' s {0 ~1 g4 e/ H\\" H1 V6 v1 \8 w
if( (int)n - n ==0)\\" |1 G6 T, a\\" n$ }\\" {
return true;\\" E3 j' f) f6 n, c
else9 Y0 A5 r8 a\\" s\\" s, k8 G, d
return false;; B+ x$ S( ?; F
}
5 g; d1 ]* |( z6 ~ s% [+ b* m8 A& s) g g8 d9 [
: p: |7 J3 ^% O7 E9 y) C" H
zan