QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-10066 A2 @3 b$ y" j

. }& s% u- @8 N+ M6 B( E7 T在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer- r) o9 R; C+ F

; R8 M% |: m1 j& \8 c: k现将代码贴出,请帮忙看看:2 Y6 L" V2 B8 O% ^( `! q
  1. #include <iostream>
  2. % g1 s' Q% A, \8 b
  3. using namespace std;3 I: E& F) @! q% N
  4. #define PH      0
  5. ( ?- P- \; S8 a# Z4 W
  6. #define EM      1& h5 A; r7 M# [6 M
  7. #define IN      2
  8. ! B# ~4 @/ E6 d' \! P. A, H) v
  9. int get_Top(int days, int kind);4 ^, m9 i6 _3 Y9 w7 X9 W
  10. int triple(int ptop, int etop, int itop, int cur);
  11. 6 G* P2 E/ D7 g0 G4 K
  12. bool is_Integer(float n);% p) ~3 n8 C3 d\\" D
  13. int main()1 S6 @$ l( N\\" a) }\\" ]
  14. {
  15. 8 d9 ]  _. {# F& H3 K8 l
  16. int ptop,  etop,  itop;; a0 s: g4 L* D* n+ {* X
  17. int pdays, edays, idays, curdays;; I, z\\" {( y& {% `& E: y* L# W
  18. int count =0;
  19. 5 j- y# ?  S\\" ?2 G/ x) ]
  20. \\" L( `+ ^: L$ \8 N8 D
  21. while(cin >> pdays >> edays >> idays >> curdays)
  22. # T1 `( S$ A5 d7 ?7 N
  23. {
  24. 3 S/ [/ D5 l0 M/ F& m  G# q
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)3 s  a; e# |# w
  26.    break;& ?' j2 R5 t7 A% F; g  ]
  27.   count++;
  28. % n* ]5 C2 j9 Z* k7 M9 y: L3 \) F
  29.   ptop = get_Top(pdays,PH);
  30. / ]5 L& t4 q. }7 h9 ]: p! s# M- B. L
  31.      etop = get_Top(edays,EM);) t\\" ^' x- T6 p! Y: h. B8 e& r
  32.      itop = get_Top(idays,IN);. }: n$ r: {\\" v  @( U\\" [% ^2 \- O5 z
  33.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";* O- F8 c- v* T( r9 D8 y
  34. }\\" V4 }8 M3 u0 a8 \3 b8 o7 T% T  L

  35. ; N- v. Q2 f5 J0 n& L
  36. return 0;) F5 \3 B\\" L  \( ]* I$ A8 P
  37. }  ?# L! _. q0 F6 e. x) `! T
  38. int get_Top(int days, int kind)
  39. 5 y) M5 w7 N+ |0 K% @6 j
  40. {
  41.   x- @( s9 @! U5 X
  42. switch(kind)
  43. ! Q\\" L9 x/ U  k- ?& L) `
  44. {1 z! K; i* o% v7 ?7 H: Q
  45. case 0:
  46. 2 K9 \2 G\\" o5 X6 Y+ T
  47.   return days%23;
  48. 8 {; q, v7 _1 C# E6 K9 U
  49. case 1:
  50. * \; `* ?4 d9 b* Q9 I3 C
  51.   return days%28;* \4 H- x2 L) }+ J
  52. case 2:3 a4 I! u. @4 `5 t$ U7 |1 ^: r
  53.   return days%33;
  54. 6 [/ t% `' }7 H) o% q
  55. }- q& J- e\\" @' v6 }/ M. _( E9 w
  56. return 0;
  57. 6 G3 ?8 w' o$ T9 M) i. I3 Z
  58. }
  59. ( {; Y2 M4 ]8 y2 I4 K+ s4 i$ t0 t

  60. & b& I# q1 ^' e3 @' d% F
  61. int triple(int ptop, int etop, int itop, int cur)' j3 F! v) S4 P5 ?
  62. {* b; ]$ X! l. V0 J* x, J
  63. float x, y, z;
  64. - o; ^. Q9 |$ q9 y\\" k
  65. int m1   = etop-ptop-5,
  66. * `8 E. _1 M3 ~2 B5 m- N
  67.   m2   = itop-etop-5;
  68. + T$ P# B( A  i& j  g  {% u
  69. int temp = 0;5 i, @# _' U$ A\\" |2 ^4 g. l; r% Y
  70. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)) t& E# l0 }/ U2 j7 K\\" j
  71. {
  72. . |  f\\" Q( w, l& r, }
  73.   temp = m2 + 33*z;5 f$ v/ z$ p2 K% \
  74.   y = (float)temp/28;7 w9 B1 s5 p) ]% B
  75.   x = (float)(m1+temp)/23;
  76.   Z1 H0 Q% s5 ^- N
  77.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  78. + P4 F1 ?) h4 g- p\\" y3 p
  79.    return itop + (z-1)*33 -cur;$ `' d# d: y/ L4 c
  80. }
  81. 4 F& K4 S  T' a0 B7 T
  82. return 0;
  83. . b+ j6 ~\\" E$ B\\" C9 F2 \5 h
  84. }3 y. g2 J. N! e- S

  85. & A! t$ `3 j9 N( l2 G/ U4 O6 e
  86. bool is_Integer(float n)' g) S# Y; S/ J9 q4 {# o: t! a
  87. {
  88. / X, ~1 R& g) E8 H) _. M* B
  89. if( (int)n - n ==0)
  90. 8 l4 h; |) A& F9 }( u
  91.   return true;) l$ V. F, b  ]- y  s; S( c
  92. else
  93. ) Y2 _2 P! v6 |4 j  A
  94.   return false;% I% v1 ~0 D4 \+ n
  95. }$ Y2 u' g8 B) X
  96. 6 u' F6 o- z/ J7 m, z: N( u
. T+ p! `+ H$ D  y
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 编辑 ( ^7 K8 f2 C- }. _7 ]) w1 r5 o

    7 q" _& k) Q4 w. u7 E1 v用float可能会有精度问题用中国剩余定理求解
    - s4 T/ Q0 C5 v3 C4 N  `3 F参考程序:
    , K5 [6 @( m; m& N, K" F/ i. _
    " c- Y# v. N" e" B4 B, D$ `- j#include<stdio.h>: q/ S: A- E) S, b  S! s* {  c
    int main(){ , d- q, J, r( K6 ?
       int a,b,c,m,n,i,d=1;
    % K$ f3 |* `8 @( v3 z+ {   while(scanf("%d%d%d%d",&a,&b,&c,&m)){# G0 e) h. {( X: j, b" \) l
      a+ I: |% Q; W; t1 Z
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    4 ]! ]( ?; J9 O8 b- r- {- A7 V. g: u3 T/ ~1 ~6 Q  r
    n=0;
    , F: |( t- i7 C4 K) ?6 O4 ^- ~  C3 F3 L! s- S. U4 u1 q% A$ i
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    8 l& l8 E- A7 w( r: L8 l1 \; O1 `1 q) ?( S( P* E/ ?7 I
    if(!i)- I+ |! O3 Z8 I" B1 D* P8 n! z2 K

    , O3 _5 e+ [2 E" U! [. `# ki=21252;
    / w$ r% W" o6 K$ {6 a4 |* [8 O6 w3 s; {
    - W  F# L* m) V6 ^8 K  W$ |printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    ' j  Q* `" M9 L
    * V6 g: I1 `+ U$ v. a$ g4 k" ]" R   }$ J7 }5 I0 F, }

      G( |$ |2 Z; Y; @  w; Preturn 0;& b' k) y' b* ?1 C1 `# @- X) h9 H
    }1 @+ h& s0 a5 C* ~* J. U

    . {* \# J1 I" Y* {" }% B0 @
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2645

    积分

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

    升级  21.5%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子% h" S* L% W. ^( b# f& d5 G3 M, C

    ; @- l; @0 a% p, V& _6 k, P6 F* G2 x" n
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    1 Q$ Q5 p) R# }( ~6 u4 K9 Y9 \' S/ f8 I6 ~/ N& [
    两个程序一对比,一下就体现出数学的强大力量! ; c+ p/ |: Q% p8 ]
    回复

    使用道具 举报

    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-6-20 15:24 , Processed in 0.445017 second(s), 87 queries .

    回顶部