QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
" M- m. E8 r* O1 A# t: H2 r4 ]! E4 p  X5 E0 n
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
2 E9 J/ |  s- U2 |: ?9 }4 }+ ?+ x; c9 B* o
现将代码贴出,请帮忙看看:
' E3 l8 G. u9 w. e5 n9 x$ e0 B
  1. #include <iostream>: n* _9 i6 C\\" D* D
  2. using namespace std;
  3. ( S; }$ u9 O! X! a4 l, Z5 t& B2 T
  4. #define PH      0
  5. ) S. [0 {7 t, k. a
  6. #define EM      1$ ~0 }7 y$ c' H1 R
  7. #define IN      2
  8. 8 h) r0 R  O3 h3 P/ I/ C2 |
  9. int get_Top(int days, int kind);
  10. ( {# X. v  [. L8 m9 P! y3 e5 B
  11. int triple(int ptop, int etop, int itop, int cur);
  12.   z' p; V. B5 d( d8 j% d& [
  13. bool is_Integer(float n);1 l\\" Y# Z+ p5 y1 M+ U. R5 [6 N
  14. int main()
  15. + p8 E( }( I2 O% p1 G* H9 N1 e
  16. {
  17. , w) m4 |* h! c, Q+ {' N5 F
  18. int ptop,  etop,  itop;
  19. . z* |! ]% o$ L# E4 W* ]% @
  20. int pdays, edays, idays, curdays;
  21. 3 l: ^; W7 T8 ~# E+ B# c! V
  22. int count =0;5 t7 w. f8 y5 `1 M

  23. 7 X, G3 J\\" b4 V9 w4 c\\" n
  24. while(cin >> pdays >> edays >> idays >> curdays)
  25.   D' z! a- q: ^/ w9 \( b3 U
  26. {
  27. 9 F: M2 }& Y+ q
  28.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  29. 3 q) q! ^5 v' m* V
  30.    break;7 ^; @5 M+ _- `% X\\" I1 D+ c1 B( s# Y) z
  31.   count++;
  32. \\" d0 I( r4 s0 d- m' m
  33.   ptop = get_Top(pdays,PH);
  34. . @! ]: c3 S; Q( N0 y
  35.      etop = get_Top(edays,EM);! B2 G# U1 C( @8 I  F1 w
  36.      itop = get_Top(idays,IN);
  37. + f- p0 n0 \: \
  38.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  39. * f7 p0 I0 l$ Z4 ]  w
  40. }
  41. 0 O) T  O6 ^) S& m! s. w7 E4 A
  42. & Q  f. N: h6 [& C/ v5 i8 I
  43. return 0;/ C  X7 N$ v+ A* `+ ^( W, {6 u, H. H
  44. }+ `3 R# W0 Z5 E\\" C; g  C% N
  45. int get_Top(int days, int kind)
  46. 0 ?( I& x\\" R3 ^( {) ]
  47. {- y# O$ u+ _9 H8 b
  48. switch(kind)& _7 ~9 n$ E3 O
  49. {* ]( r  r& w8 M: Q% v+ }1 b
  50. case 0:
  51.   [9 k8 [# t4 _- z9 F# ~
  52.   return days%23;; `; f, X6 i. h9 o- R\\" J
  53. case 1:
  54. : A  [$ \( d7 _& ]2 F( a\\" r
  55.   return days%28;
  56. 5 O; l1 z, u  r+ [
  57. case 2:0 y9 @7 U5 M4 I/ I5 t: }
  58.   return days%33;# p3 b8 G3 B/ \- a
  59. }- v& G8 r! t/ g/ c6 W/ u
  60. return 0;
  61. * L8 v% Y3 P! o5 d! u) c+ B5 D3 `- ]$ Z\\" E
  62. }' d\\" G# F! @$ o2 r7 R$ w

  63. 4 ]\\" g7 M4 n% a1 _! Q& A. a# o
  64. int triple(int ptop, int etop, int itop, int cur)
  65. 3 _8 S  T) Y- e# m# |4 Y/ i1 x5 |
  66. {: S  M- c* I) o( \3 c3 q
  67. float x, y, z;\\" r1 ]- Q: p% @$ X8 a* a
  68. int m1   = etop-ptop-5,& }* d& i: {/ ~/ o3 o7 r
  69.   m2   = itop-etop-5;
  70. + o6 ]2 F1 b' e7 m. R
  71. int temp = 0;
  72. ! `! \: [5 U* ^
  73. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  74. 7 I$ r. q( u3 H\\" ?
  75. {
  76. \\" l' R\\" }  g& Q5 H9 M6 x9 B
  77.   temp = m2 + 33*z;. k! I- A: @' H: N) R, ~+ F0 z7 a8 n
  78.   y = (float)temp/28;/ Y0 o0 c, T8 M$ v# p
  79.   x = (float)(m1+temp)/23;) C/ v) ^& d3 p. g
  80.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  81. # g; V! `/ \# X/ W  k' e% n
  82.    return itop + (z-1)*33 -cur;
  83. \\" ~& _8 j8 H2 _- G. h$ \0 t- K* k
  84. }
  85. - N* \. r1 k\\" l; m6 O/ E
  86. return 0;- y\\" |& x, l  ^$ M1 c( m  v
  87. }
  88. 3 E% z2 J, _4 K7 E$ b+ L4 s; D

  89. ) J* g9 J! W+ `
  90. bool is_Integer(float n). F9 U; g$ @& i* p
  91. {
  92. 4 A' y( J; E; Y6 r5 Z5 Q5 v( S
  93. if( (int)n - n ==0)
  94. 1 n0 @+ K0 J2 O- Z4 Z
  95.   return true;
  96. 2 A5 S& t, B6 i$ x& ?6 b5 P
  97. else
  98. ) a# G1 _, F' X) W% ?9 J
  99.   return false;+ a: j, x5 z2 L+ g\\" b
  100. }
  101. + H6 S: G& }. _) y8 I4 s
  102. - V. W5 Z8 ?7 R2 @1 |% T
: V0 x' H7 N) E9 t% H0 @
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 编辑
    ' @6 I( _- f& m# b$ ~' z' l" b" X" C- Z
    用float可能会有精度问题用中国剩余定理求解
      a* i- d' h5 @& w, x参考程序:
    ! F$ o9 A/ L) |) O
      s6 @6 e" U+ a9 g, o#include<stdio.h>, J7 g) r( E" @' B0 Z! ~+ {9 Y& g9 Q
    int main(){ 4 {5 Z, [. v9 K
       int a,b,c,m,n,i,d=1;  N! W3 `. Q# r1 I& Y# I
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    2 _0 P4 I: M. H" X4 m9 C5 L
    5 m' B  A9 l' P( q$ o. Xif(a==-1&&b==-1&&c==-1&&m==-1) break;: J1 I- [& `3 r

    9 P+ W# q& v0 t- T! h; {0 v6 B) Tn=0;/ E( u6 S" l0 X- m, q
    7 i$ U! D' A4 X2 [* R+ s  W
    i=(5544*a+14421*b+1288*c-m+21252)%21252;7 I0 F5 z, Z6 B6 T

    + L9 u7 |2 T! ?. sif(!i)7 w3 d: a8 I# l0 w# v
    5 C0 L$ l& s  V  w! ~# g
    i=21252;
    . P" }% g) X" {+ C: I
    - ^$ H" d) Y1 h, A& w# Vprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);. u  [' h: o, s0 C

    5 z4 F5 }, f8 u/ o3 E9 ^   }& o; o. N( ]1 s
    7 `) G3 C6 @/ O, T+ Q/ L; B' E
    return 0;9 O) E( ^/ ^8 W1 |5 j
    }
    + d' k0 c% s. u! f$ G+ p7 C- C- x7 ?/ j" P6 ~) t$ ~1 Q
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2648

    积分

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

    升级  21.6%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    ) ?/ {5 ]  Q$ @  f7 l* i+ a. K2 e& `1 ^

    / ~4 j% k% {) q4 l9 ^    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    ; [$ `* q' h' ^# b) x& q+ D. ~
    0 Q$ z) V, G$ E7 u7 C8 I; f两个程序一对比,一下就体现出数学的强大力量! ( w  q$ C* v8 D# }0 F6 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, 2026-8-8 14:53 , Processed in 0.431753 second(s), 87 queries .

    回顶部