QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
& n. M3 n. J" Q; }, z
' n$ O: `9 x' l% H3 y在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
. H) m. w6 i. y5 e& u& t- m/ g" N" F/ x1 a9 ~, I% E2 R
现将代码贴出,请帮忙看看:
/ c) ~/ D2 A* B2 ?$ n
  1. #include <iostream>* W; F1 i) \9 x\\" `% _
  2. using namespace std;0 X; y3 r1 A/ b' C6 o) j
  3. #define PH      04 x6 a, Z& j4 D/ C) {
  4. #define EM      17 n2 o+ K+ X% y. z
  5. #define IN      2- x8 h* d7 W9 f! p, P( F$ ~& T
  6. int get_Top(int days, int kind);3 F3 c2 @5 Q\\" O
  7. int triple(int ptop, int etop, int itop, int cur);
  8. 8 x8 I1 u5 ^5 x& E. Y
  9. bool is_Integer(float n);
  10. % }; s4 b' Z7 ~6 d' E& H
  11. int main()
  12. 7 b% Q$ [) g6 l7 H: j
  13. {
  14. 8 }% K8 l; Z. S7 ?
  15. int ptop,  etop,  itop;
  16. + B- |6 L- w& g- a1 Q- i3 P* l. M- @
  17. int pdays, edays, idays, curdays;) ~# Y5 \\\" n7 I/ a\\" h, o
  18. int count =0;* r7 V2 H. c5 Z8 x3 Q

  19. + A1 T, \: z: L' `# `4 ~& A+ q: T: G
  20. while(cin >> pdays >> edays >> idays >> curdays)+ L  O& {) H\\" R: O/ r( e' l
  21. {* ?\\" n+ c9 E9 w# b! |' W2 B
  22.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  23. ) ]& o) @% u9 g
  24.    break;( V! R( A$ D) h: ~3 w' z
  25.   count++;
  26. 7 V1 e\\" u7 i- g0 G6 O6 w) n! Z2 J
  27.   ptop = get_Top(pdays,PH);
  28. , M  Q% q\\" N+ i
  29.      etop = get_Top(edays,EM);
  30. 9 Z2 Y+ m6 |+ V\\" v' B& m( ^
  31.      itop = get_Top(idays,IN);  a  D. D+ ?* g: W3 L: L
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  33. ! Q  n4 o: K* [& I, U3 J; O6 l4 n
  34. }
  35. : {  L9 e$ ]: W4 i  F
  36. ! ]* M. i& B( P# n# p2 B/ F
  37. return 0;
  38. 7 m6 R2 ~' N: E$ h1 Z4 L2 k* l; p+ e
  39. }
  40. + U\\" ~5 j: e4 i, v0 r
  41. int get_Top(int days, int kind)
  42. . g7 n: \\\" P5 |# T  `! w$ n
  43. {
  44. 8 X( f2 \! d1 e. q- h8 E8 t
  45. switch(kind)
  46. 4 M; E1 U- Z- e- C
  47. {; n* L6 B% \/ C4 F
  48. case 0:
  49. 3 L7 E8 e4 A% z$ [0 U
  50.   return days%23;1 R5 `! g; w$ q
  51. case 1:
  52. ' f1 v\\" G5 M8 j/ `' R
  53.   return days%28;5 w0 H+ h: [1 v( I' v8 y1 ?
  54. case 2:0 a\\" _0 X. Z; @  n7 i7 W/ o
  55.   return days%33;% F* U\\" x' `1 L
  56. }* v  h/ `* {- M
  57. return 0;; F5 [7 C# R! \: g  Z) [+ V
  58. }* ]9 w( r: q9 H6 ]) }, T: A

  59. # \; U+ Y) G. {6 \
  60. int triple(int ptop, int etop, int itop, int cur)6 N! m% e8 S! ?1 f; q! p3 A! ]
  61. {
  62. 5 d1 _7 [3 O9 u& H. k4 n
  63. float x, y, z;
  64. 9 L' Z1 ~% q, f% C* e
  65. int m1   = etop-ptop-5,
  66. ' Q( z( f5 E8 n( S% D5 b0 n
  67.   m2   = itop-etop-5;
  68. \\" x2 B* J9 z& v( q
  69. int temp = 0;
  70. ' s8 i\\" I# C2 A( I1 G
  71. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  72. + b0 V6 W- o: s( H5 I2 A! ]
  73. {
  74. - T- G- e$ }( \
  75.   temp = m2 + 33*z;
  76. & z8 t3 |0 x  d5 ?\\" v0 s; x  c0 C
  77.   y = (float)temp/28;1 P* h! @0 {! O9 n' S\\" `2 U( b
  78.   x = (float)(m1+temp)/23;
  79. - n+ X9 G' @# [% @  i0 j# v
  80.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))7 K* N( F6 K+ @. E, Y% Y. o8 z' a
  81.    return itop + (z-1)*33 -cur;
  82. % _9 g. ], @7 p. z5 f6 @* e2 K
  83. }
  84. $ J- z! q2 G/ z! y/ K
  85. return 0;5 y$ R' h& n) V( G- ~
  86. }\\" R: v) S# I# C. H' [
  87. ; s6 }0 }2 S, a1 T/ s
  88. bool is_Integer(float n)3 P) Z: x4 f( P4 J3 C5 P
  89. {+ B\\" T8 I3 t  i3 v0 s0 M$ R
  90. if( (int)n - n ==0)
  91. # M. k& a# T* P& K( E5 a( p: R: `
  92.   return true;/ z9 [( b+ \- a3 E
  93. else
  94. 0 Y: [/ ?+ J: `9 m/ j2 l6 g
  95.   return false;
  96. # I5 v\\" R1 ~- G6 q* l7 i
  97. }1 j, L+ N, M/ a3 X
  98. 6 v, l' p; y7 Y1 ^/ L

9 w/ i! H$ N6 S/ b7 K: j
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 编辑 8 @( t8 L; I) a; `7 x/ ?

    * }) f$ j5 w4 B/ q用float可能会有精度问题用中国剩余定理求解: G2 |$ A( I! I  _
    参考程序:
    : o: b) a( N. A* J6 O$ b  W$ `! \) A5 w; m6 \  e- {; K$ S
    #include<stdio.h>- s( u3 |! O. q6 `( S# Z
    int main(){ ' {) z, }& C/ X, ?6 T) z
       int a,b,c,m,n,i,d=1;
    3 \& I) D) E7 p2 s8 o0 p   while(scanf("%d%d%d%d",&a,&b,&c,&m)){/ z  a" \7 `+ x1 N5 R7 Q

    9 [! J, ^% D; b3 c  S( dif(a==-1&&b==-1&&c==-1&&m==-1) break;
    8 m% u+ ]5 z6 Z4 R6 o6 `1 D4 ~; v
    n=0;2 y9 }. f1 D- Z- K- |  A/ A4 b1 ]

    3 Y% I' g8 K5 c' t1 Yi=(5544*a+14421*b+1288*c-m+21252)%21252;4 h1 `. [" x5 a3 N5 _! ?3 @
    + j# E! T8 R) s, U( E9 Z# q3 Z
    if(!i)9 w2 J3 O; q  R! P7 J! N
    * ~+ \) K: @( \! e
    i=21252;
    ! C, f9 B: _! L: Z7 r: F! A9 V" J' S6 u
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    1 d  K$ T4 U; ~
    2 @, n0 T9 M$ c0 M   }5 g/ S8 I& u6 I) I5 a# ]

    $ U2 j$ @! k1 }- s  j  i$ preturn 0;, Y3 {- l( h9 l' B
    }' v& L& r: q. z% x9 t  t+ `
    # {$ R0 ?2 Q  M* S
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2616

    积分

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

    升级  20.53%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    / A* U! l( T, ~2 x1 v* @  P- [+ K; M! e/ {7 P6 F8 K/ e# F
    ' J, e) M3 U% }/ ^
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看4 |8 V3 d9 P6 h# H
    3 o8 R" W& W7 d" Y, ^: t
    两个程序一对比,一下就体现出数学的强大力量!
    . n2 q. H1 e: \) L' ?3 u5 e% C+ r
    回复

    使用道具 举报

    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-9-15 11:18 , Processed in 0.878691 second(s), 86 queries .

    回顶部