QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
" n, w8 H# e0 M: a
2 u9 C0 h4 f! |' v" N/ w在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer$ p/ s3 Y8 `# r! E- e3 {
* A% f9 ?- m$ e
现将代码贴出,请帮忙看看:
9 N4 K4 ~+ d$ ^. _- H  l
  1. #include <iostream>
  2. ' ^% V+ c; S+ h9 B0 ]' G
  3. using namespace std;
  4. 1 I3 m1 U7 w& s% }. T5 L) B5 C9 S
  5. #define PH      0! [: s2 J. P5 f% V& [; p- {5 Q
  6. #define EM      1; y0 D! L\\" j) z1 N' T
  7. #define IN      2
  8. 5 ]4 R) z& u\\" |) y+ X) |% ^
  9. int get_Top(int days, int kind);
  10. : F+ ^3 P6 o* q' l: L( M
  11. int triple(int ptop, int etop, int itop, int cur);
  12. % i2 s; q8 O1 z3 i
  13. bool is_Integer(float n);/ j) A; Y* W5 i% A6 p
  14. int main()8 X1 h- j% y  N/ @! d+ s! _+ d\\" p
  15. {
  16.   a$ O$ Q7 b& p( f\\" e
  17. int ptop,  etop,  itop;* N# r. U4 r4 f1 Y. R( e. f) R
  18. int pdays, edays, idays, curdays;
  19. 9 X( b3 G& ~. _: C1 p8 }
  20. int count =0;$ D- I& W( ]  q; c: W* b& C! b
  21. 0 x7 F5 T, }* J+ O; s+ o) ?/ M8 l
  22. while(cin >> pdays >> edays >> idays >> curdays)2 o& B% a$ A2 I
  23. {$ F# A  W& T. m9 s* M* V6 {4 C
  24.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)* B1 _) K' z/ V: O: w  w6 m
  25.    break;
  26. 7 p  I7 p- O. E9 Z  Q7 j1 [) J1 V
  27.   count++;5 @# [4 A3 \5 P  E% |, R
  28.   ptop = get_Top(pdays,PH);
  29. - U' m. Y! Z# g8 m% Z
  30.      etop = get_Top(edays,EM);( Q, }% g+ h4 t0 ^
  31.      itop = get_Top(idays,IN);
  32. * I4 g, p& W' s+ ?, m
  33.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";% C* V7 }: J$ k- {
  34. }9 ~2 k# [, A' q
  35. + Z- r  F# q; n, u8 P0 P. w
  36. return 0;8 a' O$ D  g+ ~5 x1 D
  37. }# R( W0 J\\" c- v0 `7 b* A
  38. int get_Top(int days, int kind)
  39. , z# m3 H( w, B# Y+ t4 B
  40. {
  41. 9 u( Q# u' S6 ]! Y
  42. switch(kind)
  43. + |1 W  {! j+ J' u+ \* K5 w7 C
  44. {! ^8 n& B\\" j2 W5 N3 P$ _
  45. case 0:
  46. 5 F4 [1 C. e( i+ n: A, o3 z1 S4 K6 O
  47.   return days%23;$ a% D' X5 ]& K* E1 [$ m
  48. case 1:+ t9 g. L7 k4 a# ^& @- h% G$ d. Z! A
  49.   return days%28;  s% j/ B+ d$ ]: `. q! |
  50. case 2:
  51. ' l: D5 p) D' \7 z: d
  52.   return days%33;7 p  ?7 l( ]' i0 i  U/ @\\" l
  53. }; @. w# w3 J6 M/ R! ]4 h
  54. return 0;
  55. ( Z  Q: h) o# v7 ]
  56. }+ K7 ~\\" W& P4 z( Q
  57. 4 L) `& w1 K9 {
  58. int triple(int ptop, int etop, int itop, int cur)
  59. : _$ M- y+ |; ~\\" ?) b
  60. {: i\\" A& M- {4 j$ G6 q* |9 B( n1 p
  61. float x, y, z;- a3 Q7 x6 K% p# b6 n/ I
  62. int m1   = etop-ptop-5,
  63. 8 c\\" [+ W8 j\\" z' ^! O/ _8 Q# V2 @
  64.   m2   = itop-etop-5;
  65. / K2 o. g3 m% w  g\\" U8 v
  66. int temp = 0;
  67. . T+ A- X; h! L
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. + a\\" L; S  E# ]* q
  70. {$ x/ S9 c' m/ W+ b\\" c. e
  71.   temp = m2 + 33*z;
  72. \\" |- K# i, u3 d8 l/ S' S
  73.   y = (float)temp/28;9 o4 M) o, {/ c2 u2 Y5 m$ h2 _, J
  74.   x = (float)(m1+temp)/23;
  75. % q- p. ^$ Q9 [\\" {
  76.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))- F  S* E8 ^; N$ e2 V
  77.    return itop + (z-1)*33 -cur;
  78. & U- K7 @5 T& M; |% {' z
  79. }
  80. 8 o& u5 _( f3 Z. W+ ]\\" ?9 g2 V
  81. return 0;5 D! n- r& R: z* D- p) S
  82. }# u3 r* D* T' I

  83. \\" O# b6 F4 o& O  v
  84. bool is_Integer(float n)
  85. . z8 V4 \0 ]  Z7 C: l& U
  86. {3 Y2 E  Z3 j+ f% W2 C; |
  87. if( (int)n - n ==0)1 \# {, n4 ]$ Y: R7 o0 T
  88.   return true;
  89. % ?, H1 l8 y0 P/ v' m8 ?/ z
  90. else7 Q, G\\" o6 T# J
  91.   return false;
  92. , \  x* D2 J- a2 h8 J) E- U8 h
  93. }
  94. & f% v7 w4 h- ^. Y' ?

  95. ) ?* t. A% o/ E  T- R4 Z
4 b) V0 r9 L" [8 z+ K8 c
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 编辑
    # `) L. R' f1 }: t3 m3 ?! X6 r" J- f' F7 F
    用float可能会有精度问题用中国剩余定理求解, U8 R4 P7 @: z. X1 ^& `7 C
    参考程序:$ L: R) f9 i9 u% h. Q/ D# Y& {" Q

    ) R# \# @+ ]7 Z) Y9 C#include<stdio.h>* B" C1 e5 L4 ^+ V9 P
    int main(){
    . ~8 D& r0 a( S   int a,b,c,m,n,i,d=1;$ N+ a/ Y$ }; `4 ^+ X
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){+ g' g. Q" s2 s. N. R2 B" r" F8 q* c
    - V# c! ^% F5 P' n4 p# V3 ~$ v( d5 a
    if(a==-1&&b==-1&&c==-1&&m==-1) break;5 b9 }' l7 p) [4 V

    1 S+ b: n6 n+ N3 r' B2 n! E6 Un=0;( g% i, h' Q, O" \+ ]% P
    , Q! d1 v+ G6 ?, |& n
    i=(5544*a+14421*b+1288*c-m+21252)%21252;( V. L* k  D0 Y2 H; ]

    2 k& a* _+ F! [& e1 ?if(!i)
    / e( ~4 f- ~( ?+ P8 N6 y* ^) X6 B4 a+ @8 V4 B
    i=21252;
    # t: j1 P7 A. p9 G7 }/ P8 Y1 f- g( `( u. e4 U5 {1 G0 m
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);8 f; q" B; |5 R/ F7 W2 n

    " o9 e8 s' z  G$ H" {   }+ @1 O! J; q% I# d- C
    1 N4 }4 V, ~. h; [
    return 0;. T$ j4 k( f$ V- s. [, a
    }' J* q6 \( I+ t

    # r" {* b0 l/ P' ~# o8 G: J
    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 的帖子) E: `4 @9 r+ F( Y

    & F6 D4 X; u! w2 h0 u3 n9 A2 g$ i- |- P: o$ `8 x
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    7 b/ z  K* u8 p' V8 b& c8 d
    # J* w! C+ `  J两个程序一对比,一下就体现出数学的强大力量! 4 R, d2 R& p7 W0 k* A" E
    回复

    使用道具 举报

    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-9 11:32 , Processed in 0.738426 second(s), 87 queries .

    回顶部