QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
0 Z! u2 m: ]" r5 Y
/ {. k5 t  y' K( ]5 R# ^  ~在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
: v. h" s1 k  W; B+ c8 n" ^4 u) x1 @" E1 J! F8 c
现将代码贴出,请帮忙看看:
* }# |% ~7 t; q, M) V
  1. #include <iostream>
  2. * H8 i' F0 Y! D8 j+ `  C) J
  3. using namespace std;0 D7 Y$ ]- ?* O3 O: f
  4. #define PH      0+ w  U3 ?: K( z. P' T7 I
  5. #define EM      14 n% a; i' u/ o* T, q0 t( a7 p) F
  6. #define IN      2
  7. # e- [5 f# e; s6 {  |
  8. int get_Top(int days, int kind);; D) m7 }7 ?0 [\\" ?. z1 f% N# z- K
  9. int triple(int ptop, int etop, int itop, int cur);1 F3 o# A$ E/ _$ Y8 Q( i\\" b6 q
  10. bool is_Integer(float n);
  11. # r9 `8 q1 t\\" ^9 q% \
  12. int main()
  13. 1 _/ u& ~  [8 `4 u  ~9 o+ d2 }' ~9 A
  14. {3 S5 t# c7 f- p$ g7 l0 ?: h) S8 e8 w& }, _
  15. int ptop,  etop,  itop;* z) ]+ P$ q# T- F
  16. int pdays, edays, idays, curdays;' z6 A* G/ a0 h3 C: t
  17. int count =0;) ]0 Y\\" U+ a8 m9 ~# }% z
  18. ( W, N$ v5 f/ g/ D7 H; l
  19. while(cin >> pdays >> edays >> idays >> curdays)
  20. 4 u7 c& `/ e% j
  21. {
  22. ! S  N& U( t7 W* D6 U6 T% x
  23.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)6 g- t2 w3 y) [\\" d* Q/ E
  24.    break;
  25. 9 ^8 o4 d. Q) [5 N) d
  26.   count++;\\" j0 Q- b- Q# i4 [; f+ J
  27.   ptop = get_Top(pdays,PH);1 I$ @+ H) @2 T0 u* q
  28.      etop = get_Top(edays,EM);
  29. : S( g8 ~2 c! M3 _
  30.      itop = get_Top(idays,IN);
  31. 7 P7 W/ F8 V! |# C, w& w* ~# U
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";, j8 u+ I2 K- y  u
  33. }/ O+ f\\" u8 }\\" q9 x0 I. W
  34. ; R0 f2 e& m, p; j2 G/ ]4 f0 m
  35. return 0;
  36. ! e: @/ Y1 ^/ Y- J
  37. }
  38. # h4 j: ~/ B3 y
  39. int get_Top(int days, int kind)- @4 x! v' _- i
  40. {( g* w4 _' o9 L- D, d5 g8 A' G, {. f
  41. switch(kind)
  42. % c  ~. ^\\" J! o' N1 c
  43. {
  44. ( i9 G9 R' `5 Z* b
  45. case 0:! a1 h3 {( v, ?
  46.   return days%23;
  47. , W4 e8 T5 Y: {2 K\\" E- V5 w1 \
  48. case 1:; ?; R* \6 N$ O0 x\\" M% F
  49.   return days%28;
  50. . L1 z( d& `2 u
  51. case 2:
  52. , h  C) C! {$ X; I3 Z* C
  53.   return days%33;
  54. ; T$ x$ o3 b+ p9 D5 P  l1 _+ e* A
  55. }: T; U7 o: V9 }( V# |2 A
  56. return 0;+ ?$ f: B/ J5 ]4 @5 E
  57. }/ j3 P: u# ~/ N( f  I
  58. 9 i+ o! k5 M5 S8 H& c
  59. int triple(int ptop, int etop, int itop, int cur)
  60. ' J+ {7 ~, Q4 r  e7 D3 e' e
  61. {
  62. 7 `& E1 }+ y2 y' c- |9 p
  63. float x, y, z;6 y+ t! f4 V0 A/ D& L2 C
  64. int m1   = etop-ptop-5,
  65. . c! r4 y# z! C% D7 s$ M  ]+ _
  66.   m2   = itop-etop-5;: _# ?3 h2 U\\" n& _) r
  67. int temp = 0;  [& p) O& P  {2 n) `/ T
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. \\" ^7 M* {& v, n) \( v
  70. {
  71. ; b* y0 |, h  \6 c9 ~7 z) V
  72.   temp = m2 + 33*z;
  73. ! V* T7 d; [9 e6 H
  74.   y = (float)temp/28;
  75. * ?  `7 M6 T) I3 C
  76.   x = (float)(m1+temp)/23;
  77. \\" [- }- y1 A( Y& v* `( g\\" u: Y) G9 F' f
  78.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  79. ( D) D3 @, T* p
  80.    return itop + (z-1)*33 -cur;0 L# _5 X\\" ?* }5 g  O& L& q# `$ }
  81. }
  82. 1 g/ s8 N- J# o& X
  83. return 0;
  84. ; M+ j0 T/ s9 H
  85. }3 M) w' |- f4 V! R- n: c
  86. 2 _1 y* G% f) x0 a
  87. bool is_Integer(float n)
  88. 0 _/ p, N, ^, R' {1 s
  89. {
  90. 9 _3 b( B: i1 i0 M7 c/ D
  91. if( (int)n - n ==0)
  92. 9 f& M2 P! |& C7 J  \
  93.   return true;
  94. 6 n+ \( }! o0 g# ^/ o) p
  95. else
  96. , q1 {) B# K0 \& X  I
  97.   return false;
  98. ; `) D$ K1 c: D& m6 Y% `+ n5 }0 X
  99. }
  100. / k/ @5 J\\" e( U6 M% P' J6 v: \

  101. 2 Z9 Z* {2 k7 w8 X- z0 X7 g' g& p
* F6 H( f  p9 V5 h! B
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 l5 o" }1 S3 @) Z4 k& u4 Q4 l, G) C# h) K0 Z
    用float可能会有精度问题用中国剩余定理求解
    7 ]) N5 x0 V6 G. d$ j; ]1 J- {% z2 z参考程序:
    8 ~$ z  U  Z! G$ @% p1 H
    2 }2 n( G$ w5 ~  G/ E2 g0 T#include<stdio.h>
    ' l/ }& O' u4 P1 W  N+ {int main(){ 6 i0 u1 X; j, t2 ^
       int a,b,c,m,n,i,d=1;
    1 @6 B4 o8 h6 o# K' V) K/ }   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    . W& C" i1 l  O+ p! q* o2 M$ o- r$ p6 o; c; U& Z
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    : t$ U& g, j- M( D& B" Y5 D
    ! v3 A2 S" S0 H# ?+ F% On=0;
    $ I, }6 q) c* F# s0 h+ G& h' p( [/ S. ^  P# U7 {7 I4 b, j, u8 ~
    i=(5544*a+14421*b+1288*c-m+21252)%21252;# \' Q) f5 k) D  `5 a/ ?
    8 ~( u2 e, W% u+ @& G) l8 {9 x
    if(!i)
    / f% f: p# _5 H3 q4 ~7 M  u  j
    ; x1 e% G& @( l; \  w& C! S6 y; li=21252;; ^- O1 T- G; c* w" a) D0 t

    2 U( s1 K& s5 b& N; K# eprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    # H* p8 Q( ?* e. V9 c1 G
    ( o5 v0 O/ M/ C# E5 m9 x% v3 H! |   }+ _; P1 @2 m$ ^4 L: f- ^# h
    / i$ g6 c: }0 @
    return 0;
    7 m/ X& o& S+ r$ R% o4 O! y}
    , W' T9 n* W: L! y9 v7 Y3 R  ~# F# N8 w
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2648

    积分

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

    升级  21.6%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    ( _7 @) o& Z+ j, `$ e& r7 z3 W0 w# B8 P! i8 p! u3 a
    $ Z4 E3 K2 S6 w+ |! Z
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看; [4 S! b& n5 [0 s2 Q1 N
    . a* f3 {9 d" Z& G
    两个程序一对比,一下就体现出数学的强大力量! 3 `! v$ g- o1 s3 `( V- T, H% M
    回复

    使用道具 举报

    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-8-8 15:56 , Processed in 0.662046 second(s), 86 queries .

    回顶部