QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
. l- i6 i& U4 K1 l' H, r& z/ G9 N
9 B9 U' D- e# l& ~0 c在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
  m$ E! a3 ?$ b: P7 g  e) T
) v  w& N" d4 x6 Q9 y现将代码贴出,请帮忙看看:6 M4 v' E, e) h/ W4 o! ^6 Q
  1. #include <iostream>4 i% Z) K1 D\\" y3 f. A1 Z$ Y1 R+ q
  2. using namespace std;
  3. # s$ m/ Q& X! z/ `6 U4 [. d4 W' R% u
  4. #define PH      0
  5. 5 }2 R) ~! S5 y' D& y
  6. #define EM      1
  7. ' K: `9 \* t8 t9 z% V
  8. #define IN      2
  9. \\" B, b9 ^; H' f- E1 r
  10. int get_Top(int days, int kind);
  11. # v  F! C; n- u3 Q$ K6 y/ {: }
  12. int triple(int ptop, int etop, int itop, int cur);
  13. 6 p! e3 a( x! |& _: n# j
  14. bool is_Integer(float n);
  15. 2 v: K. R; E, ^. T
  16. int main(), a. t- U( p7 B; P5 D8 p( B) [
  17. {
  18. : L. J. P$ l0 a9 W+ y
  19. int ptop,  etop,  itop;4 G* {: q# T: F7 n4 Q4 C
  20. int pdays, edays, idays, curdays;+ W* Q' ]+ v2 Q6 w( B: B
  21. int count =0;
  22. 4 T\\" V7 x+ U# o* M4 J

  23. % T9 h' q8 P; d, ~
  24. while(cin >> pdays >> edays >> idays >> curdays)% y& {0 p: [; j6 z) j$ \# e2 @6 w
  25. {% j: P) D% m. u
  26.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  27. 6 p* M8 C& m4 v( d! n- s
  28.    break;
  29. + O( M6 O# T9 d2 U* i& e, h
  30.   count++;
  31. 9 }/ }' \! f* j6 {
  32.   ptop = get_Top(pdays,PH);
  33. 9 W5 k7 L* ~+ b% v: V' V
  34.      etop = get_Top(edays,EM);9 P  q\\" v* M) i7 `; E
  35.      itop = get_Top(idays,IN);) n7 r- N$ _7 g' Y  A
  36.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";- A\\" R; k) [) |. s0 p, d$ U
  37. }5 x% k/ A/ t2 V
  38. ' N9 S; A2 B* {5 ?! h
  39. return 0;
  40. # w2 Z\\" V% H' N, w9 K, E, C, ?
  41. }/ \$ {+ u1 [! _2 e9 B! d* [\\" p
  42. int get_Top(int days, int kind)
  43. 1 a! T7 W* o+ F! _: m/ k% ~- ]
  44. {  ?0 X5 K( G% m9 U8 z& |! z' M. `
  45. switch(kind)
  46.   |- ]5 t9 `; E1 W% R
  47. {
  48. 8 {% ~9 W. g: N  c\\" f, l
  49. case 0:\\" h5 p7 y' ^9 o6 u
  50.   return days%23;
  51. 7 B+ y0 m5 z1 Q
  52. case 1:
  53. 2 u2 r6 n8 B. _: B$ q
  54.   return days%28;
  55. ; n3 Z: p  |9 k; d4 k
  56. case 2:0 z3 n/ U( h/ V8 R6 c2 n$ S
  57.   return days%33;& B' y0 F  z. T# V
  58. }
  59. 8 Y\\" p% ^) {+ k# T( `! C\\" P
  60. return 0;5 I$ b/ Q: k, y2 ]0 g& d1 m
  61. }: u- I1 ~5 }1 v% _
  62. * @8 _+ s* }! z' n) Y1 M
  63. int triple(int ptop, int etop, int itop, int cur)
  64. & z4 f' I4 A, H3 E5 ^/ Q
  65. {
  66. 8 x/ v) A/ e' a) B7 ]7 f! [
  67. float x, y, z;; \$ `8 `3 k; U( f/ _( m
  68. int m1   = etop-ptop-5,, {4 a4 g6 a\\" H
  69.   m2   = itop-etop-5;! ]. A3 m, o3 l
  70. int temp = 0;
  71. ; D% x9 u9 b' ^3 o7 ^& ~7 d
  72. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  73. . q3 h2 U2 R% C; E
  74. {
  75. 1 u- v6 K! t* a# i. _\\" q9 A  ~
  76.   temp = m2 + 33*z;9 l1 k8 n/ T! {5 V
  77.   y = (float)temp/28;
  78. & a; n( n/ |3 v
  79.   x = (float)(m1+temp)/23;
  80. ( I6 T3 v' M5 f. J8 S
  81.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  82. ; G) k. a7 k1 j& d5 u+ p+ p
  83.    return itop + (z-1)*33 -cur;
  84. 6 R5 s4 Z7 l- V9 @& r5 |$ a# x
  85. }
  86.   u3 G- A! j0 q2 C1 W
  87. return 0;
  88. ; m& a5 M5 X; ~$ {\\" V
  89. }: g- F- ^% e. F  r: k8 S% l

  90. 6 s; M0 }% O# q* K* ~1 Y( E
  91. bool is_Integer(float n)
  92. % W- ~& G7 W: A$ R+ T( J# {, Z9 G- y; j
  93. {1 g$ q  G( T* X+ S3 l1 g
  94. if( (int)n - n ==0)' `$ x; _2 B: M
  95.   return true;
  96. + g- ^, A* W# j; h; M- M# q
  97. else( U, w' s) n: |  G6 q; r
  98.   return false;4 V8 t) _* q4 n- o8 m( j
  99. }( e( S/ q$ }0 M
  100. ' U( ^, W+ h( C* q0 B. }

* P9 a$ |% V5 `8 B) v3 R
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 编辑
    5 A1 z' ]) d( h( ^) w6 r) S! l% C; W& }( [) {) \
    用float可能会有精度问题用中国剩余定理求解5 r$ z( Y" O: k/ F4 H9 ]) Q4 \
    参考程序:8 z6 b$ W! A4 K; E1 ^
    # f. c% c2 g! _0 y0 J
    #include<stdio.h>
    * ^) E- y, z& l1 Xint main(){
    - k' u' P% D& R* P+ s7 K: o4 Q   int a,b,c,m,n,i,d=1;/ n7 s: `2 D! U1 Y
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){9 K, `4 |; x1 t! l  Y* M8 k

    0 p4 `5 m" f8 Gif(a==-1&&b==-1&&c==-1&&m==-1) break;
    9 e& o8 E# w. w$ q4 U( I  Z% x6 D2 b$ h$ e5 i2 H* ?
    n=0;
    ( l7 y, u& v6 N" A
    6 b- @' b' v4 E7 D: I* Fi=(5544*a+14421*b+1288*c-m+21252)%21252;8 ^$ o3 ?, n+ D% w% u
    7 f' r* @. l+ r! y/ }
    if(!i). m  H) y" Y/ I5 O6 S* @0 C
    $ n/ Z5 }% v% u+ q
    i=21252;$ N+ r# D5 @" g, x' |0 y
    + Z; r. r) W) E, ^* L
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    $ Q3 ^0 ]# |: Z1 Q3 G4 g" ~7 P5 f( Y' K& C
       }
    + p3 K5 T4 Y1 z3 b" |* z6 u( l$ Z1 N; g. j! Y- g
    return 0;
    / O  ]& G4 R; `" f1 J: }3 W}4 L$ F$ s  I  ]6 e/ H5 B

    5 R+ N: f: G0 X1 o. ]
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2646

    积分

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

    升级  21.53%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子) C" p: h: D* V+ j$ A) @. ]
    8 Z0 g! h  E2 Y" d, ~

    " h+ W0 O$ f1 _8 i  C- |1 a5 F5 i    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看7 ?# `6 J; I! K  W1 [

    / j. b+ X. M. z3 |/ U两个程序一对比,一下就体现出数学的强大力量!
    $ t4 y- N+ d$ F
    回复

    使用道具 举报

    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-7-6 08:49 , Processed in 0.335785 second(s), 87 queries .

    回顶部