QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
5 H% L: F, m' Q7 S+ `- m8 n, H! Y4 z% H. S- ^7 c
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer: W# x: K% f4 u/ _( {

1 r8 K- J7 |: H" S现将代码贴出,请帮忙看看:! h4 o- R9 c( Z8 |3 `
  1. #include <iostream>
  2. ! m: w  a% j7 S
  3. using namespace std;
  4. 4 j3 N! S3 K. E5 m. b9 _  }9 b
  5. #define PH      0/ Y\\" a, ?, H7 a! w4 A: s
  6. #define EM      1
  7. % D, G1 R( I5 m8 i; y
  8. #define IN      2
  9. ) c9 q/ {5 K1 i. y: _/ x
  10. int get_Top(int days, int kind);; S3 Y: `7 _$ q2 n
  11. int triple(int ptop, int etop, int itop, int cur);. g0 M; \& G0 [* K6 E0 O1 y0 ?' i\\" ?
  12. bool is_Integer(float n);
  13. * Q  z7 ^5 }' y) t
  14. int main()
  15. & ]% y* z( T7 r! ~7 U
  16. {# e7 x0 M( O, X- h
  17. int ptop,  etop,  itop;& v& s  x6 ?' [- ]\\" k( W\\" k! F% O& D
  18. int pdays, edays, idays, curdays;  y* r6 `- u$ Q: H: P
  19. int count =0;
  20. / V5 q0 n1 P) ]3 i$ |
  21. \\" r\\" h! Q: W$ G( l. Z( T
  22. while(cin >> pdays >> edays >> idays >> curdays); \7 o/ g. D6 k9 T9 k( [
  23. {
  24. 4 _. f5 @& t/ t
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  26. 6 N2 k* i/ M0 v4 |- X/ X4 U7 E% h
  27.    break;* \8 u/ c$ z/ ]9 k
  28.   count++;$ ?' ^- C\\" l  @+ K' {/ q
  29.   ptop = get_Top(pdays,PH);' ^. q7 D0 D% @1 Z. t
  30.      etop = get_Top(edays,EM);4 D6 x9 o/ h/ E6 d2 O9 p
  31.      itop = get_Top(idays,IN);* G( l) S$ k4 ~; ]. j$ x
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  33. 1 d% t' [& E\\" J' q
  34. }& ?) A1 c: Z+ L6 O  Z  O7 m6 k
  35. ' k& a: [9 |4 Y( Z
  36. return 0;
  37. . b' f5 D. q/ H0 K; @
  38. }2 R4 P* d' J/ f: B
  39. int get_Top(int days, int kind)
  40. - _, o$ X- C* C# p$ e, T. u
  41. {
  42. ; M2 U- w  A+ b5 Z8 T
  43. switch(kind)* s7 P2 E' b( y1 x( x  v
  44. {
  45. : O* K- `$ z1 K+ w1 O
  46. case 0:& i7 z$ g5 C) U; D* s1 ]2 J& ~
  47.   return days%23;
  48. 8 m- q( j- K) }$ n+ z! k7 }/ f
  49. case 1:
  50. ) q, Y  q% v' g3 R7 F: f
  51.   return days%28;
  52. ( L2 q3 q8 d  t& s9 u- @$ Q9 ]
  53. case 2:
  54. 9 x% x$ f% {# O+ S) H* |
  55.   return days%33;. t# W2 @& w! q\\" @. A' y+ u/ t$ S  i
  56. }, s; k6 Q: ?5 Y0 H/ E\\" Y2 B+ H& F
  57. return 0;
  58. ; K  ^* B\\" w  L2 E0 B/ Z% |
  59. }
  60. 5 F& K  E, d* A. Y4 T
  61. % D5 z# F; J3 [' m+ E* i3 ]
  62. int triple(int ptop, int etop, int itop, int cur)3 n0 s3 x. Q8 L- R; p
  63. {2 V+ V' G7 P% G: m9 E9 }
  64. float x, y, z;
  65. + W- U, d; n  K. }
  66. int m1   = etop-ptop-5,. i3 N) Q1 U7 ]4 I) _
  67.   m2   = itop-etop-5;! X5 F4 ?% @& K$ W, |# z
  68. int temp = 0;
  69. , @( r6 k: L* r$ ?
  70. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)' U! g' y- ^% D7 l' X. Y( z
  71. {0 ^7 N. z! H1 z3 @, l' S+ k
  72.   temp = m2 + 33*z;
  73. 7 y0 u- \! A2 X8 u* T
  74.   y = (float)temp/28;
  75. ; _  W2 b+ e8 M. O
  76.   x = (float)(m1+temp)/23;
  77. 6 t1 |! A& s, p+ N
  78.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  79. / v8 s8 X3 C/ x6 ^. F* ~. i
  80.    return itop + (z-1)*33 -cur;
  81. \\" P0 Y5 z0 Z; t9 P0 j# h
  82. }
  83. 7 w' T. K! f( r7 g( G
  84. return 0;$ Q! G/ G: o3 H; L4 }4 D
  85. }
  86. 2 t, i. H8 e, R: g* P$ K3 @
  87. ) L$ @2 K7 T1 E4 Q
  88. bool is_Integer(float n)- \\\" J# B/ K: e+ X5 E
  89. {
  90. 6 B; w  O4 ?+ f! a: ^# x0 J
  91. if( (int)n - n ==0)
  92. 2 D! \: i8 u5 e4 @2 E8 I4 {
  93.   return true;
  94. : D* v3 ~# c- ^! R* I, j
  95. else
  96. 1 s1 ?2 h  i7 z8 M
  97.   return false;
  98. $ D$ |5 \' u; j: L
  99. }
  100. : k# p/ {: k$ _! [2 ^  @

  101. ! H# K4 r\\" U* R( C' M
2 J6 {! m  r9 E" D* N
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 编辑 $ Z; G8 R; i: m9 I
    7 o4 J- Q4 S2 D9 i% m: ~/ O: S
    用float可能会有精度问题用中国剩余定理求解
    1 X, D5 P! P6 D/ g! i0 b9 }参考程序:/ T, b" T1 w% {$ d4 Z+ G9 q. G$ P

    ! J  B' {) b0 g+ G0 o6 U+ h#include<stdio.h>
    ; Y5 k' ?2 u2 y, }' q  E( eint main(){
    % }! P: X7 i7 I/ m. p5 K   int a,b,c,m,n,i,d=1;6 d# s- s. Y! v" s1 f
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    7 S% c2 c9 u' T8 v) j1 y$ K2 G
    : P" [- z6 }' A& fif(a==-1&&b==-1&&c==-1&&m==-1) break;; g6 V5 \* k. F- Q9 U

    % r, w2 x1 _& D2 a8 jn=0;
    3 k* ^6 c+ _+ D( B
    9 l! V5 o- r7 k, g) G  `- |i=(5544*a+14421*b+1288*c-m+21252)%21252;
    3 i  x$ m- q, S/ h4 p  I6 J; h9 `! v+ l; N* ^
    if(!i)6 y1 q7 D: m1 ?7 w1 k
    ' h7 W* H) L5 {8 ?
    i=21252;$ N3 |8 F9 `& ~" y" ~: ^
    - k$ w: C  s- q; I1 D" ^+ L) L
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
      ]5 g* T6 m" F  k! d# Z+ K: H/ ]5 F- V
       }* O* u9 |8 h* E+ ?% e, u: O# e

    / l3 C2 H3 Z% I- Y) @0 n0 I# Treturn 0;$ x1 v* D0 w( i) p0 G
    }( w- u( y3 @; b3 Q7 N2 e
    ! Z) C" A, x% v
    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 的帖子
    0 K5 N7 u& q4 e6 f  |
    9 j  A: @% Z4 g. g. Q' g" ]' R# T$ h
      q( K0 f4 M/ o7 Y( R& i    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    % y, f( u( E  {- F# l+ o9 Q: Z* s* B' s+ j* ?, [
    两个程序一对比,一下就体现出数学的强大力量!
    ! H: `5 X' a! S# |7 U8 Y
    回复

    使用道具 举报

    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 12:03 , Processed in 0.440597 second(s), 87 queries .

    回顶部