QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
" C6 j8 s8 x' e7 _; z' B" q! C8 b, b. t* {. r3 f
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer( q% h6 s" f* R7 V% r
+ {. }5 T; \) }* v
现将代码贴出,请帮忙看看:( e1 d# `3 o& }
  1. #include <iostream>* {3 m- k* f1 M! W' C
  2. using namespace std;! w( _0 k$ O- o\\" N5 `- b
  3. #define PH      0
  4. \\" j. }) O4 L! ^! T
  5. #define EM      1
  6. 6 }# a: {) }9 w2 Q4 R& g# `
  7. #define IN      2: f) N0 N+ p$ S% l& ^7 z# }$ k
  8. int get_Top(int days, int kind);9 ?' G4 Q8 L; O\\" d: e( b' n
  9. int triple(int ptop, int etop, int itop, int cur);
  10. % U\\" T9 @7 t. f7 m+ w
  11. bool is_Integer(float n);5 u1 w' Q) G# D$ s% u
  12. int main()
  13. + ^' A6 D0 D: c  H
  14. {1 e0 d( V1 G1 Q
  15. int ptop,  etop,  itop;
  16. 4 N) A& k! \2 f3 g4 R/ A. m
  17. int pdays, edays, idays, curdays;$ Z  y* L8 A6 |- a8 h, J% b
  18. int count =0;' O+ u( p3 q# \8 j/ P+ v7 q

  19. . b# M: a7 K1 `, H# I) v
  20. while(cin >> pdays >> edays >> idays >> curdays)$ w' s( c1 l  C4 U/ {; Y( b8 x  w7 V
  21. {
  22. 2 j* p1 r1 d) K5 t1 M
  23.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)7 P$ @4 F! S& b' o
  24.    break;1 M% d8 C5 d; E2 K, f  e5 Y
  25.   count++;
  26. ) Y: E5 s3 c+ }  M2 ?& n. J
  27.   ptop = get_Top(pdays,PH);4 w% O, E) w: K% u- |
  28.      etop = get_Top(edays,EM);# x- Z0 N' @+ D$ Y5 A
  29.      itop = get_Top(idays,IN);
  30.   t; I- p  n/ d+ I# m$ n
  31.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";2 O, v& j1 m1 s* n\\" j
  32. }
  33. ! a4 `! T* F8 a$ F\\" C1 r& }

  34. / O7 t3 ~: W* H2 R1 N1 P
  35. return 0;4 O7 Z& G) w$ F) K4 B( U  U
  36. }) R0 |; f% g, I9 X' ~
  37. int get_Top(int days, int kind)
  38. ; x  p# m# ]1 f' ]
  39. {
  40. ) Q! Z5 i3 {% M- y& `: d4 v
  41. switch(kind): L8 ^5 x; x& M- y0 \8 {  c* ]
  42. {1 Z8 f: v$ M/ R/ G# m' g+ {
  43. case 0:0 W3 a7 n# J7 z. ?( T9 n* X# ]4 h
  44.   return days%23;; d6 ?2 s: f  S7 N, P. t% S; D
  45. case 1:% k3 k- l% `2 B# b3 ^5 Q' j6 ]5 Q( e! a  N
  46.   return days%28;
  47. & m7 @2 u4 ~: ?  Z  g% P
  48. case 2:
  49. 8 ?4 w. I' K) P: ?# f# S* q! X0 j
  50.   return days%33;% T& d+ i7 ^& u6 s4 N% w( W5 d
  51. }
  52. # Z: N! P5 m2 }$ K
  53. return 0;
  54. 4 @3 k# h# X4 v' |$ H) d( U
  55. }
  56. 2 B9 |8 i& `; I8 L9 ~
  57. 1 ?- T% x+ M  E# p+ n  q7 X
  58. int triple(int ptop, int etop, int itop, int cur)8 l3 A( r% k( h' C
  59. {
  60. % F! U. F. k2 z% _/ ~! M7 I+ {
  61. float x, y, z;* ]8 o  _  U! u' v5 a+ c
  62. int m1   = etop-ptop-5,
  63. $ N$ b5 g+ `# j
  64.   m2   = itop-etop-5;
  65. & p5 G- i: I5 ^, w% O9 z0 a! ~7 ^
  66. int temp = 0;
  67. 7 f\\" @  ~1 J4 S- q
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. \\" F# Y# Z: \/ W4 ?- @. K9 h
  70. {
  71. % c# m+ L9 a5 p* g9 I) r
  72.   temp = m2 + 33*z;
  73. : o! C( Q4 N: Q% i) a
  74.   y = (float)temp/28;
  75. 3 {1 Y5 `& d/ o( c- y6 Z, U
  76.   x = (float)(m1+temp)/23;
  77. . c( V1 h0 |9 u+ t$ y
  78.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))2 B3 \* Y/ O' E\\" H8 g! M; ~- a% u* r
  79.    return itop + (z-1)*33 -cur;0 |3 z9 V$ x: v0 |8 [2 ^
  80. }
  81. 6 n6 d$ x) H  |% L) T
  82. return 0;
  83. 4 a/ _& E) V: g; S! h0 G( ]. S
  84. }
  85. % h& S, `  m) o+ x: S8 K) X

  86. / Q4 W; t) F8 y# x% O* k9 E
  87. bool is_Integer(float n)
  88. & }' M: V8 e+ a( `
  89. {$ x\\" n6 L: C) E; Q: E$ V$ ?
  90. if( (int)n - n ==0)# W2 H. s8 n$ \7 p, G( r
  91.   return true;6 e2 i/ D9 B% E. G
  92. else
  93. % c\\" \/ T6 `( e' |' P- ~
  94.   return false;
  95. 6 G3 {  l\\" d; L1 I3 w) }/ ?
  96. }$ ?3 d7 U! w& E$ j; Q

  97. , M\\" ]* e/ t- ~; Z* I

* ~& H( C- ]/ n. y$ o' E6 k1 ]
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 编辑
    ! m) R7 m% N6 o
    * p* |& p# @+ P' e0 m. O用float可能会有精度问题用中国剩余定理求解
    + \6 e) y% p7 r* t参考程序:
    " J9 X+ n7 g+ \8 U- I. U- G4 K- k7 K4 x" h6 C4 Z/ m
    #include<stdio.h>
    1 @1 F3 R# x! k% T6 @int main(){
    ; b3 |- B! W7 _4 f   int a,b,c,m,n,i,d=1;
    : J+ |, E- y$ M7 o   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    6 n( y( [# X1 x( t
    2 y$ R8 y! ]  v1 z6 yif(a==-1&&b==-1&&c==-1&&m==-1) break;7 S' E% ?8 }$ Y1 @" ?+ ]4 m& u

    7 o; K4 K8 J+ S. w. g( Nn=0;* M; u* a3 v/ @* j" V
      P+ \7 p& t. H8 G; u
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    : C! {; X( j+ J# ]
    $ T. d# u8 P# _/ V5 Zif(!i)
    # D$ y/ K* @% O8 P% n# O1 c4 a! `4 t! B0 D; [
    i=21252;4 R' e- l. ?7 G

    + S! R, z8 W, o- q9 Zprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    3 E- R  W  L6 {$ u, C% ?2 r; a5 r7 S1 W. a& U( ~
       }
    % H7 N* K1 [# W' \( M0 N: o9 v. m1 t: P) n, c, _" `  y" D
    return 0;
    : p6 a/ [5 m9 N}. t9 D  b' p' V2 q* _/ Y3 S7 p
    ) L& K( A" l$ G$ h1 g
    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 的帖子- P" a" Q6 ~$ V, T

    2 s9 E* V$ }8 O: r0 t+ ^
    + T! S* y+ a$ _8 w    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看1 A" ^. _# i  F; X: G
    7 l# C& G! _8 B" z) X! n: [& L
    两个程序一对比,一下就体现出数学的强大力量! . N3 d( w* z$ ^: k7 I8 i
    回复

    使用道具 举报

    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 15:58 , Processed in 0.483312 second(s), 87 queries .

    回顶部