QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
, ^8 Y5 F, r: ?5 W! p/ j  c/ P+ C+ E) C7 F4 q
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
* W( C6 N3 k6 w; k  H
) O& A1 {# H" T* Z, q/ _6 h* J现将代码贴出,请帮忙看看:; W/ a+ T$ f0 u. Q0 K' N/ `; }
  1. #include <iostream>
  2. / x4 n1 l$ v' E# z$ q6 D# z+ N# _
  3. using namespace std;
  4. - W$ R. o* b3 ^& p+ ^\\" n5 e) y, D
  5. #define PH      09 _+ p; K+ F$ o  ~) N, o
  6. #define EM      1
  7. 1 l2 z( c, R6 S7 m7 \
  8. #define IN      2
  9. ' ~4 S, d9 l. B9 l1 `
  10. int get_Top(int days, int kind);
  11. : t0 `9 c( q  F( ]
  12. int triple(int ptop, int etop, int itop, int cur);; w, C3 P; ^, ?4 A% I; y
  13. bool is_Integer(float n);8 f% e; S) C* I/ w- t1 q\\" U1 _9 `
  14. int main()
  15. 4 ^& p1 x3 l. U9 ?
  16. {# L2 N/ _( Y# f! E# J8 I) G. D6 T
  17. int ptop,  etop,  itop;& c: q9 x9 x2 `/ ?( v3 U\\" G/ \* w
  18. int pdays, edays, idays, curdays;& u4 q8 ?( t# f) p1 T, h. E
  19. int count =0;
  20. $ V% j4 W. w; J: b! o1 y5 z% s1 r# i9 q
  21. + V9 R3 q$ }7 d1 {\\" M
  22. while(cin >> pdays >> edays >> idays >> curdays). V# D. z! V* Q2 E/ c
  23. {\\" z% x* e+ n4 |% Y/ D/ _) B2 n
  24.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)4 q  m7 G' O) J( Z! }
  25.    break;
  26. # ]; {9 x6 f6 v' D3 s
  27.   count++;2 {5 P; Q1 j' A\\" {( R4 b
  28.   ptop = get_Top(pdays,PH);$ U' q+ k7 ?. `: U
  29.      etop = get_Top(edays,EM);1 ]. x) G) m4 b3 c+ M
  30.      itop = get_Top(idays,IN);
  31. 6 T5 p# B, u  A3 ~6 y/ \- ^
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  33. $ e5 }' [: d' c9 g
  34. }0 Y& j, l  v% y' b3 k

  35. 3 Z/ ^& l- E; f* {
  36. return 0;' P8 S8 t) J4 n2 p
  37. }! X3 O* v\\" p2 d# d1 T
  38. int get_Top(int days, int kind)
  39. * n3 r( [- r* u
  40. {; F& `: f; k! M3 `' L2 f% U
  41. switch(kind)
  42. ' ^* {/ {  B. \5 W) H* w
  43. {' }. W8 g* ]1 C# s
  44. case 0:! F, T' M0 |) \5 R0 R2 I+ m
  45.   return days%23;+ E\\" `& r8 k/ D0 m1 T, j
  46. case 1:% ]5 X4 Y2 o+ L8 s\\" ]
  47.   return days%28;
  48. ! l' H# y. ~7 P0 v7 c8 t, l; L7 S
  49. case 2:
  50. % }/ q/ ^3 p% H
  51.   return days%33;
  52. 8 z9 j9 e$ [7 r: x/ K0 N' R
  53. }/ U7 j\\" j8 l: l: q4 Z+ y5 i, z3 x
  54. return 0;
  55. ' z1 Q2 E, O/ q& d! U' Z- j7 F
  56. }3 ^( Z- n( }6 ~3 G8 [  S5 z6 J0 y

  57. 5 j- U/ r\\" ~8 q; W
  58. int triple(int ptop, int etop, int itop, int cur)5 g3 T. M3 A3 c
  59. {
  60. , Q8 r- }4 x: x
  61. float x, y, z;
  62. + u+ ]4 w, g% C& }. r+ F- f4 h
  63. int m1   = etop-ptop-5,
  64. / f3 w/ O1 U& o7 @) Q+ b
  65.   m2   = itop-etop-5;; f0 V- u: Z7 D
  66. int temp = 0;
  67.   e3 I- h9 N$ i! S
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. 2 j& g! A3 \( m% N( c
  70. {7 ^( [& [* n: o, Z8 q0 C
  71.   temp = m2 + 33*z;
  72. $ l  x8 J\\" F5 x- L7 d1 B! Q4 o  |
  73.   y = (float)temp/28;2 t8 u, k! b, ^
  74.   x = (float)(m1+temp)/23;
  75. 0 Y7 N- [' @& ~2 q
  76.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  77. 8 K2 n# C& T1 x+ O
  78.    return itop + (z-1)*33 -cur;7 d\\" D% X. y! {* G
  79. }
  80. \\" D0 X( v$ h  z% W\\" J/ R7 ]
  81. return 0;
  82.   h& g* q, {  a
  83. }: T. o: f( X4 D; H4 G
  84. - x1 U1 r$ v% P  o6 l1 F
  85. bool is_Integer(float n)
  86. ; B- [2 V  ?' L5 C& z5 |8 A1 s* C
  87. {/ h3 G5 L0 G4 p\\" U
  88. if( (int)n - n ==0)
  89. ) ?\\" a2 V3 \5 r! W! K
  90.   return true;
  91. + u: E# P- I/ k! c$ v
  92. else
  93. * B3 i! S4 s9 r; e  I  E
  94.   return false;
  95. # I8 o/ T( u- M1 Z3 y$ c
  96. }4 j: I% \& @7 q* X+ ]8 z

  97. 7 `( ^/ ^# Z\\" [3 D7 t* o
+ A: o! L9 n4 O* t- D1 r9 j
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 编辑
    ) E* b3 F' p/ F- Z, F7 \) Y0 o. k# F. f5 r& p! w/ s$ F! N
    用float可能会有精度问题用中国剩余定理求解" V3 `6 N7 S, m0 J; J' r( b
    参考程序:
    " z/ k7 j" w. n9 X' x5 F
    * M, v! o  l! Y6 J$ N#include<stdio.h>
    ! A2 K# S0 J4 @2 j3 F. o2 Lint main(){ 9 {! o4 Y: ~; ?5 R) I5 y
       int a,b,c,m,n,i,d=1;
    , V' Y) F. D, T/ t   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    8 G2 V* |9 M. v8 a# X. f+ {. {  _# A  X$ _  w
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    1 H) n2 _% ^( T, N& c2 s6 v& J' Z) E; w
    n=0;
    2 ^7 f' g- o2 U* R8 D
    ( l" ]# p% {7 u7 Ti=(5544*a+14421*b+1288*c-m+21252)%21252;+ `; \7 p# u3 ?, x. |1 g

    * g# w/ X( F- R+ dif(!i)/ P6 ^! |3 u( T5 T
    . \% f# }* ~+ g8 K* `* Q( n% h
    i=21252;' M+ ]( R: G" [

    ; |; N$ I7 _- g6 q) [. Cprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);1 p9 Y' c7 n7 F) Z, E" Q
    ; C$ i; D! Q0 b& R
       }
    ! A8 b: K* B, `& i$ i4 r: H
    - g+ w8 |/ w5 h% y( Hreturn 0;' W' k! m4 I  ]0 {" Y% l- ~
    }
    & ^* h5 m* ]& |& H5 q
    . ~; l" M9 r/ {* P+ A, }
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2643

    积分

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

    升级  21.43%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    0 i4 C8 ?5 Q* k  d/ h4 q
    % K. x( v4 x3 A) N! A$ L
    5 L+ Y% P) w( S% M    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    ) S, N/ _2 {. C1 f3 Z2 _
    7 n1 |; r% L# ^4 N4 o两个程序一对比,一下就体现出数学的强大力量! 7 ]; D$ ?7 L" t6 K+ a5 }  `! s  I
    回复

    使用道具 举报

    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-4-30 06:12 , Processed in 0.539922 second(s), 87 queries .

    回顶部