QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
" x* i  R( R6 x
' z+ P" p' {" ]1 f7 M. p在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
& n# ?, ~: R; W
* L4 `$ s: K6 w4 h) I! x现将代码贴出,请帮忙看看:* j& M1 h& g! G" x9 G- T
  1. #include <iostream>
  2. 7 o: O- W3 S( S9 I3 N+ C- O
  3. using namespace std;! u* ]1 _1 n' A
  4. #define PH      07 M4 ?, R( P0 b0 V1 y  a- r1 P) W
  5. #define EM      1
  6. ! ?\\" N, Y& V6 q! U9 g2 R+ C
  7. #define IN      2& R$ B0 `  D* P- ]: o8 s( z
  8. int get_Top(int days, int kind);# T1 m+ m! l1 U. ]
  9. int triple(int ptop, int etop, int itop, int cur);
  10. 3 n6 @3 |) O& ?  p* P& j0 R
  11. bool is_Integer(float n);0 i! H. N& J\\" I$ i. }\\" E1 j$ _$ Y/ j
  12. int main()+ `2 g* O' C: x
  13. {
  14. & C. N: B4 T# t9 q' f
  15. int ptop,  etop,  itop;; ]+ J4 w2 d; Y
  16. int pdays, edays, idays, curdays;
  17. ' b+ X8 z9 D* @8 Z
  18. int count =0;
  19. 3 d  v: E/ Z2 }3 n

  20. 3 a1 j$ P$ h4 l7 w* e
  21. while(cin >> pdays >> edays >> idays >> curdays)  a6 c* n/ U; b. {
  22. {9 a9 [3 R! W  R! C0 K# ^5 O
  23.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  24. 4 O% d- J% X! I\\" V) o
  25.    break;
  26.   _+ a) H! a* ], E, f6 `% N; Y' i
  27.   count++;
  28. + Q  R1 G- w, U2 }
  29.   ptop = get_Top(pdays,PH);
  30. , h* p. m& G0 v/ m9 p
  31.      etop = get_Top(edays,EM);( c; l3 G) G: x; c% D) t
  32.      itop = get_Top(idays,IN);
  33. $ c0 O% M. K: i) Q& t1 m( A6 p
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  35. ' A' o7 ^1 i6 v& _4 P5 M
  36. }8 e0 ]' t- n/ C+ T; }' Z% x  a

  37. & |  l& B; t( \2 u\\" ~
  38. return 0;
  39. \\" U\\" M3 f' N+ D, }- w\\" |
  40. }: m: f* ?( G7 D8 f6 D1 P3 t
  41. int get_Top(int days, int kind)
  42. 9 R# |, K0 M6 P. s9 j
  43. {
  44. 3 s\\" j: H& ~, Y& v  [8 P\\" f$ W# j
  45. switch(kind)
  46. % O% E6 Q) y) q& V: Q5 A
  47. {
  48. 9 m' [, v# d' {) L, H0 \( V
  49. case 0:
  50. 3 r. O* b' s8 W5 O4 G4 T
  51.   return days%23;+ ?7 g7 y1 W4 f' G  J* A& G
  52. case 1:
  53. 5 I/ m6 K! v9 V% ]8 ?
  54.   return days%28;$ ?% }/ d  s: i9 J7 f
  55. case 2:
  56. , `# W+ o/ R' n\\" L4 B, [! H
  57.   return days%33;
  58. 8 C1 }. _0 X0 n; p
  59. }
  60. 4 w. l6 Y. s1 E
  61. return 0;5 p' e. ]7 N8 n, B( W8 T. P
  62. }
  63. $ a) b% o* v3 J8 J
  64. & q8 L! P0 q  C\\" p+ g4 `
  65. int triple(int ptop, int etop, int itop, int cur)2 i' V/ d: @; h! ?: Z
  66. {
  67. & j4 r8 b' F$ ^; U- O; G, w. I
  68. float x, y, z;
  69. 5 T+ z% k+ X+ u0 u+ p  s6 P# u
  70. int m1   = etop-ptop-5,. E( `* K+ C8 S6 e/ k5 }( h8 S
  71.   m2   = itop-etop-5;* h8 w: a# _$ V/ w
  72. int temp = 0;* C  z8 S# X+ K\\" U
  73. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  74. 9 {% q( f4 I; n- K5 n$ _' C% d* j7 v
  75. {& v$ g# p& _6 E
  76.   temp = m2 + 33*z;
  77. \\" v/ X5 M  x9 y2 N5 b
  78.   y = (float)temp/28;
  79. 0 e6 R6 \- I% [% h1 j
  80.   x = (float)(m1+temp)/23;* L+ U2 j8 e# l' s+ H: Z
  81.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  82. ; p: B# g1 h- u
  83.    return itop + (z-1)*33 -cur;
  84. $ b( j- E\\" n$ v( Q( N! k, }! G
  85. }
  86. $ y4 k/ A! [! S5 v9 ^4 b
  87. return 0;+ z% C# Y! u1 @3 h
  88. }% M; A\\" \2 U, G( |
  89. 9 x  s* Q( Y/ R1 C\\" H
  90. bool is_Integer(float n)
  91. $ j8 O( [5 }+ K\\" {% F+ _
  92. {- J5 b$ o! y8 c+ P
  93. if( (int)n - n ==0)
  94. - `7 K+ t3 o0 l
  95.   return true;' l% B9 F7 b% K% c. E
  96. else
  97. \\" y# f1 A2 v: x) c
  98.   return false;$ I3 Q. J* m0 ~\\" w( |* ^/ X
  99. }3 p+ v! V. l/ a- S5 l0 b
  100. 2 i3 v8 ]. R/ b+ m, D8 i' b
0 D7 x6 B0 W$ i: y/ t1 D
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 t3 T3 ]/ u9 l$ [, ?6 a
    0 k8 V/ n9 k/ p" U" J% c  t用float可能会有精度问题用中国剩余定理求解5 z4 ^) w6 f$ `. v4 V& A
    参考程序:$ v* w- Y/ K' ]; N

    , ^; E9 c, q! t) b* K: X/ K#include<stdio.h>8 R& A2 I6 h! `# o% v, ~1 V$ f% o( y
    int main(){
    : P  r8 Z' P1 ~   int a,b,c,m,n,i,d=1;- B) F! w2 q0 w9 q/ R# S
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){; Y! s5 I. U2 `9 F3 F1 v) N

    : }. U. C% J  B+ G0 X2 I5 K0 Qif(a==-1&&b==-1&&c==-1&&m==-1) break;
    ' i$ \- q, \( Z* \! e+ ^$ v1 m- _' i6 d! l1 \
    n=0;, i; V* x- S- f4 C7 ?& }3 M
    " ~- g0 i+ @$ t- b
    i=(5544*a+14421*b+1288*c-m+21252)%21252;: V5 [9 A  s* Z. j8 l* Z  O
    4 S+ w% y0 c3 C. H
    if(!i)5 X! Y4 V  ]$ A- s8 n% }- T4 p

    0 J' y1 n$ l6 p3 n+ z% d2 `8 b9 di=21252;1 H2 D: |( D8 z- m5 {
    3 y0 E1 T# Z6 y/ b8 _  F+ V: K
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    - `$ i6 p1 I& n8 ?/ r4 j
    ; z1 p8 a  Z6 O# Y   }) a8 A& M' Q) \- M; g$ ~

    ( Z+ a2 E; Z2 W- Dreturn 0;# p5 X+ M& F( W" `2 l# T
    }/ h% I. v. q7 S+ o2 a5 K7 k( e' t& n
    % N# d  N, _1 Q, p. D1 y
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2605

    积分

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

    升级  20.17%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子( d% `) w; y) p- K& B7 }& q
    ' Y5 b) v  w& _8 P" j
    7 s: C( L7 R* g$ ~, K3 L
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看4 ^  s( T  ~' G$ r6 R$ T
    5 s* c1 f" {/ L; r6 u
    两个程序一对比,一下就体现出数学的强大力量! 6 N4 p  V& ~% U2 Z- Y2 k
    回复

    使用道具 举报

    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-7-11 06:30 , Processed in 1.210621 second(s), 86 queries .

    回顶部