QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4614|回复: 6
打印 上一主题 下一主题

POJ-1006问题

[复制链接]
字体大小: 正常 放大

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
* S3 Y1 w  M7 ^  t$ i1 x. L/ T7 l* _. ^! f! W
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer7 d/ M+ t5 ?7 H
! e" Y8 O* c" ?/ `7 f6 o9 B' [
现将代码贴出,请帮忙看看:
, _/ K) s4 f: M+ r* S: G# A6 q& |' K
  1. #include <iostream>8 d\\" b3 x) k\\" m4 @
  2. using namespace std;
  3. ) J) x& V0 E0 R% t: l8 M
  4. #define PH      0
  5. % ~$ l. u1 j& a) U7 `9 N
  6. #define EM      1
  7. ! i+ E$ w9 F! `0 m. J
  8. #define IN      2! N* j0 n. B8 {) f3 V  M
  9. int get_Top(int days, int kind);- q6 U+ \/ B/ o
  10. int triple(int ptop, int etop, int itop, int cur);( X% L6 @& u9 {  r* R1 S
  11. bool is_Integer(float n);6 l  H6 e7 m' n# E* V; k
  12. int main()
  13. / f; ^5 U2 P/ x; j6 u/ s
  14. {
  15. ( `2 D: \0 v\\" N8 D+ q9 \3 J7 ~\\" p
  16. int ptop,  etop,  itop;8 y# `& B- o3 c; N
  17. int pdays, edays, idays, curdays;
  18. 8 R1 C9 }9 ]5 u3 j* L! X& g) b
  19. int count =0;* k* h+ [  q  ]8 Q$ U3 H
  20. ; l) x: P, P: J9 c/ B
  21. while(cin >> pdays >> edays >> idays >> curdays)( R# z) n, {$ E% v% H3 K0 P1 L; \
  22. {
  23.   N0 @- w9 `# B
  24.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)+ H& T0 M1 e9 @: M  C8 Y6 }! C/ o
  25.    break;
  26. % b! u9 z% E6 E4 d% \
  27.   count++;9 U4 @8 Y$ F1 b# }7 {+ U. z
  28.   ptop = get_Top(pdays,PH);* I, |  c# E- r( H+ V7 m) g' H
  29.      etop = get_Top(edays,EM);
  30. $ {: }$ ]; L$ K
  31.      itop = get_Top(idays,IN);
  32. 6 @  s3 b! t! ?5 c\\" l8 ^+ x4 L
  33.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";3 G1 C* f4 ^. M  x/ f
  34. }
  35. % ~/ I* _& }7 H: m+ O6 h' z
  36. 5 C9 j1 \8 x! ~8 m! w
  37. return 0;
  38. + a; s( z# |, e\\" S  H5 _
  39. }& r6 f$ r/ I% N1 J
  40. int get_Top(int days, int kind)9 ?1 t% z' T' u' w
  41. {
  42. : Q/ C$ r4 t$ T\\" l6 q5 D. _6 N\\" g
  43. switch(kind)7 n- ?  E0 g6 _% L
  44. {
  45. 0 k5 m8 [/ D# F! Z7 e  t7 e
  46. case 0:\\" J- G' p- N0 ]. u! w
  47.   return days%23;* w- m6 @9 Q8 _- u3 {( A6 g
  48. case 1:6 W% L  B% y- C+ \% T4 D
  49.   return days%28;  T* a& u; _& S! \1 T
  50. case 2:+ }9 a, o+ w& ^' C' M/ H. I; S
  51.   return days%33;8 g; M/ p4 z+ r2 L! g  l4 x# J
  52. }6 D$ k7 y& G( d7 {& K
  53. return 0;2 [' L6 V\\" i7 A% `8 h: P3 s
  54. }
  55. 4 B  E7 S  H. Y9 p% I2 s% z6 o/ C

  56. ) d; n% z4 O; Z. f* s8 @
  57. int triple(int ptop, int etop, int itop, int cur)
  58. % P) G# q\\" i& U  |( R
  59. {) T6 ?$ f* T1 Z
  60. float x, y, z;* \* M+ s& ]\\" }1 N: V# I
  61. int m1   = etop-ptop-5,
  62. \\" O& H0 J& n0 ^# K5 i0 e( y
  63.   m2   = itop-etop-5;
  64. , s$ a. T0 i4 q8 k* b) L$ k9 Q6 P4 p
  65. int temp = 0;
  66. , h' ?\\" D4 N! J! l8 N0 d) i! ]
  67. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  68. ; d* |2 q\\" S3 c% e' {
  69. {3 B3 F2 K  M0 }\\" X$ N- s0 S/ u% i
  70.   temp = m2 + 33*z;
  71. 0 I4 d# P+ `\\" W6 W9 F+ w% ]6 m
  72.   y = (float)temp/28;
  73. 0 Y8 ^' B' B8 J( o$ A! }
  74.   x = (float)(m1+temp)/23;
  75. $ B) A( ^! r% r, Y: Y
  76.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))7 K: _0 K1 v: c& t
  77.    return itop + (z-1)*33 -cur;. g& c1 t% E. L) I- r
  78. }) V/ A; q% t7 A* z; `
  79. return 0;
  80. / F: H: `9 R; ^  A# w0 j
  81. }\\" K4 m  N9 n$ h6 n* Q9 w; K
  82. \\" M! Q1 B' M- y  s0 g
  83. bool is_Integer(float n)
  84. $ F- A) F% G% G  O) F
  85. {
  86. # g  o7 S- j) \. M7 L
  87. if( (int)n - n ==0)
  88. 0 s; Z7 F) e& T& |/ H7 L
  89.   return true;) l% M0 R  l2 G0 a1 P# `* [
  90. else
  91. # Y+ Q7 h1 y! k: x1 h/ k! p, `
  92.   return false;
  93. $ I1 q1 `2 n; n
  94. }
  95. 9 M( `4 S\\" z& p* Z; e( r

  96. $ p2 o& u* y, B1 v( H
, t/ f$ W. t. v
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
ultra1989 实名认证    中国数模人才认证   

20

主题

65

听众

2071

积分

ACMer

升级  2.37%

  • TA的每日心情
    开心
    2015-2-25 23:29
  • 签到天数: 240 天

    [LV.8]以坛为家I

    新人进步奖

    群组Linux推广

    群组Matlab讨论组

    群组数学建模

    本帖最后由 ultra1989 于 2010-10-27 08:54 编辑 5 k& [7 q' b% q% @
    4 I) |" {  b  q  t6 l
    用float可能会有精度问题用中国剩余定理求解, \; v: t8 ]* T
    参考程序:
    $ G5 m; F4 m- E# o) f( q" J6 M2 h% T/ f0 E5 O  p2 |. F% F  Q/ E; h
    #include<stdio.h>: ~# |* J, ?; Y1 P3 C
    int main(){ . v5 ~) G( t$ s  W( y! S7 Q5 A
       int a,b,c,m,n,i,d=1;
    8 {# U( U4 O# t" M) J) V   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    6 }6 C8 [1 c2 V1 ^
    % a! y5 p2 m; e0 m* G' k6 Uif(a==-1&&b==-1&&c==-1&&m==-1) break;
    8 T; w: d% y8 l% B6 a
    6 d5 @- P. I- R+ @/ k) Kn=0;
    ! b% Z  C% D- b% j
    ! B2 h6 B. X3 \i=(5544*a+14421*b+1288*c-m+21252)%21252;
    1 w1 m) Q) S/ r* u0 \# U7 [& ~" {& S1 a! ?# Z8 O, j0 J
    if(!i)
    " c; M4 R: B9 p1 e/ J
    1 T( m! `$ a$ |) f& B9 zi=21252;
    7 ?8 F7 W0 @$ S. ~+ W  J2 E4 f  @) q5 y) w' H
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);3 Y* {2 {" _; ?* ^' S

    ; y4 D  j, ~1 ]+ `- q   }
    + [3 d/ X/ W2 L7 K# U: h& }" f- T! o8 b) _) a0 S) @, Y+ Y
    return 0;
    ) v3 V; G) b6 r( s* S}1 k9 r7 l; ~8 ~% p. o3 l6 z

    " A' H  T9 ^6 b8 V/ Q
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

    自我介绍
    一个对未来充满信心的阳光型男孩!

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2625

    积分

    小草,小草,小。。。。。。草。。。。。。

    升级  20.83%

  • TA的每日心情
    开心
    2016-2-19 16:37
  • 签到天数: 134 天

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

    群组全国大学生数学建模竞

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    2 ?8 J+ ?3 U4 ?# H3 I3 e+ ?2 S' E& ]
    % T3 w* f. D  F
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    1 i, L) V) U$ C% Y* y4 B8 B$ T* @0 ~8 _; C+ I' A
    两个程序一对比,一下就体现出数学的强大力量! 0 K: _% S: p3 @
    回复

    使用道具 举报

    39133120 实名认证       

    10

    主题

    4

    听众

    1045

    积分

  • TA的每日心情
    开心
    2014-9-6 09:56
  • 签到天数: 209 天

    [LV.7]常住居民III

    自我介绍
    希望和大家交流学习!

    群组小草的客厅

    群组数学专业考研加油站

    群组数学建摸协会

    群组数学建模培训课堂2

    回复

    使用道具 举报

    9

    主题

    3

    听众

    142

    积分

    升级  21%

    该用户从未签到

    群组计算机考研

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-10-31 03:28 , Processed in 0.799671 second(s), 86 queries .

    回顶部