QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
$ ]3 G. Q, W1 \* a' i% v% p1 F+ L  z; t: n8 o
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer: ~- s# o+ H: Q& K/ Q  ^# D
( K! [8 O& i3 h9 S; H
现将代码贴出,请帮忙看看:+ f2 W3 C9 p- c
  1. #include <iostream>4 q1 f& O# {  k
  2. using namespace std;: S* B7 a. s$ y4 z; P6 v\\" Y3 u- I
  3. #define PH      0
  4. ; o# b2 J. V4 {3 t
  5. #define EM      1) C( d) g$ U& U9 c$ A0 T. h\\" ?
  6. #define IN      20 m3 p4 ?3 |\\" m; L, k
  7. int get_Top(int days, int kind);
  8. * A; Y; l5 ^3 l9 M
  9. int triple(int ptop, int etop, int itop, int cur);3 ^3 s0 J( V+ `8 K
  10. bool is_Integer(float n);; A1 V4 Z; U3 A% S3 {6 x+ ^
  11. int main()  E+ ^# t; X  s. V. Z* v( K1 l$ y
  12. {- ]1 x% v% D* C( n  L# H
  13. int ptop,  etop,  itop;
  14. + y2 p6 v3 Q  s' `
  15. int pdays, edays, idays, curdays;
  16. , y; }5 I9 b1 u( h( B' g# }0 V6 |6 j1 Z
  17. int count =0;9 A0 I% h  p3 c8 p. i0 N6 ^
  18. + y: R6 O; G# A\\" X  K1 t* s, V
  19. while(cin >> pdays >> edays >> idays >> curdays)
  20. 7 U( K; _( \  p- l4 w5 |
  21. {
  22. / E+ O9 F0 E7 y  |- E2 f; v
  23.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  24. & F7 z: V# \3 h! W' [2 K5 Z
  25.    break;
  26. 2 f8 |. r- e7 A! i* N
  27.   count++;
  28. \\" ?0 @& r' n# @: A# d0 J& b* V
  29.   ptop = get_Top(pdays,PH);
  30. 0 }9 e7 j9 }7 |\\" c+ R, C# U$ O% T
  31.      etop = get_Top(edays,EM);
  32. + D% {0 n/ _5 F
  33.      itop = get_Top(idays,IN);8 e. p! w0 d5 A0 p( N
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  35. ! |3 C, U  }# m1 R8 w
  36. }$ Y) s8 D. q; Z4 F7 n8 S

  37. 6 V+ V1 o$ ]. o0 H/ K
  38. return 0;$ K$ p( F; g# C& t$ F+ R* G) `
  39. }
  40. 1 ?! R4 b1 B2 I6 k& x
  41. int get_Top(int days, int kind)
  42. 5 s) e' ]$ S% r\\" h. m
  43. {
  44. ( `+ z$ t: u8 z' i6 a: K. L1 S
  45. switch(kind)
  46. - H1 t% l; }( H+ q
  47. {\\" \/ O) b3 {8 X' s! _# O
  48. case 0:1 Y; p3 y( y% S8 N\\" s7 y
  49.   return days%23;- L$ c* G4 s8 ]7 J
  50. case 1:
  51. \\" T: n+ l, w8 h# h. o
  52.   return days%28;
  53. 8 `# @( b# s9 \, d  W
  54. case 2:1 ?0 i+ e7 D( O6 m& h' n; K
  55.   return days%33;- Y) x7 c4 K* u% f
  56. }' q4 m: @, t* \+ D$ s; o
  57. return 0;
  58. - l. y6 O5 T\\" ?; ]# f
  59. }
  60. 6 d0 `( i$ A5 d6 i% k; c* A$ X

  61. 9 a\\" R9 a( k2 U+ F, r
  62. int triple(int ptop, int etop, int itop, int cur)
  63. 2 @/ ~; n1 Y4 }  u( `8 T
  64. {
  65. 3 V! o& w3 v* f& J7 o
  66. float x, y, z;1 j% u\\" V* ?: {3 h0 q. C* Q* ]8 g
  67. int m1   = etop-ptop-5,
  68. 5 h( a/ t0 u1 _# y# d% I
  69.   m2   = itop-etop-5;
  70. ( n: S# ~7 R3 I5 }5 m, X) i& q
  71. int temp = 0;8 a' x7 F  ]+ R& d. g
  72. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  73. / Y1 }\\" n8 q4 ^$ G2 [\\" o
  74. {2 _$ `# U8 {! m  @\\" o: b
  75.   temp = m2 + 33*z;
  76. - R# x  _0 I  S
  77.   y = (float)temp/28;
  78. ( j/ a' X, A) p$ w
  79.   x = (float)(m1+temp)/23;& I3 g) J! P1 K8 q; E
  80.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))' B3 A( T( c3 C0 `. _2 ?
  81.    return itop + (z-1)*33 -cur;- B! J9 M6 Z& {5 H8 Q% S& i- z
  82. }\\" d. a/ S1 j! }+ c+ w
  83. return 0;/ i2 O) o+ K6 S9 ]
  84. }
  85. + R) \8 P% N& k6 @' F+ |
  86. 5 `- Z: Q' }2 h4 ~5 u& P
  87. bool is_Integer(float n)
  88. \\" {7 B( a) O& W) Q7 n\\" z
  89. {2 ^7 i) }/ A5 Y% E+ f2 s3 x' g% b
  90. if( (int)n - n ==0)1 a8 f& u/ H1 I: [
  91.   return true;
  92.   A# X7 l  a( N8 i9 t$ `
  93. else
  94. ' e3 ~7 F4 s8 }6 V) s6 e$ I' }& ^
  95.   return false;
  96. 7 Y  X9 z4 F; v. p\\" e- d: V# C- k
  97. }
  98. ' i. ~& P7 i( C9 A5 ]: r7 S9 e' f
  99. ) W; K, [- E3 r* h0 g0 j0 V\\" F* q

$ |0 Q4 t/ B% u3 m, J: m
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 编辑
    " w2 g0 Z8 V' q% a, v; p7 [
    - q4 h( b6 m3 b; N& ]用float可能会有精度问题用中国剩余定理求解
    & x" z# Y! q! H* |1 K$ F! E5 a; w参考程序:
    9 m+ W% s  Y, m
    8 B1 G% V' |% V8 G#include<stdio.h>
    : Q2 x3 `  {/ }: h0 q! Xint main(){
    8 Y; H; I4 ~7 {8 w% h4 J   int a,b,c,m,n,i,d=1;
    ' `7 [6 w- A% E0 R9 Y7 _/ @   while(scanf("%d%d%d%d",&a,&b,&c,&m)){; U4 z; ^1 t) X  a

    & d3 e( W! l* ]0 B* ~if(a==-1&&b==-1&&c==-1&&m==-1) break;
    8 z& f# g8 [, _$ g" B* W' H( s  x" ?* d" a
    n=0;4 I& }5 c% @8 k% L% F

    ; _; ]9 G$ l4 x7 a3 W+ a7 g& bi=(5544*a+14421*b+1288*c-m+21252)%21252;
    & s' v7 T% W5 P$ c( O- q% b) d# A  o' H( i
    if(!i)
    + i8 _! b# ~+ @
    8 O. z5 Z& _7 J/ N* Si=21252;
    + S$ h2 `% l6 ~9 G9 {5 T5 x
    ! s% D" O! H" eprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);) \$ X# o7 S0 ^- M: N" |

    # B" `- y! X# F: S   }# l( ^7 V5 l* S6 T3 Q" k& F
    1 a5 F0 a4 W3 f- q; I/ K
    return 0;; s& o& H* ]  k' B  Y
    }
    . y2 ~% ^9 ], ], s2 u. f1 K. f' k4 X" T0 [
    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 的帖子1 g. {/ W/ @( S8 r4 j( J/ a

    * d" e& L, B' y/ a  |  e% ~* Z+ f7 T/ i  k8 l& ]
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
      K! d; p8 E* J: V/ z/ B
    % @) \( ~0 D. i1 D* L, X两个程序一对比,一下就体现出数学的强大力量!
    5 V/ Z9 s, c- |  a- H) W7 J
    回复

    使用道具 举报

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

    回顶部