QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
. j" q! q# h4 H: l4 t$ b
$ e' _* ?" R4 q: ?' A7 _% O在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
7 H+ y+ X6 y$ u1 w0 [) Q
7 C8 A7 A' v; G% L. H现将代码贴出,请帮忙看看:
( X1 z9 R  j8 |) s) c& N8 D0 M
  1. #include <iostream>
  2. % {\\" j/ p! i1 Z. n& d
  3. using namespace std;$ D& _+ j* B\\" A3 B# I: S
  4. #define PH      01 R0 K0 A7 y5 a2 L  ?6 G\\" y0 I/ I4 v: R
  5. #define EM      1
  6. ! F1 ~- T0 u. U  a\\" ?& K/ _
  7. #define IN      2! o3 g, n) m/ v1 x3 W. s4 A
  8. int get_Top(int days, int kind);
  9. $ i  k) [9 L\\" O9 L\\" T2 ?+ G# ~9 O
  10. int triple(int ptop, int etop, int itop, int cur);
  11. 8 ?4 n5 X2 f4 f+ n- T$ E\\" C
  12. bool is_Integer(float n);8 E' |1 t/ ~) u- S
  13. int main()  B* l  h# a, `& q
  14. {8 _! F$ v1 ?* ?* L
  15. int ptop,  etop,  itop;/ x; U\\" |% O% f0 g
  16. int pdays, edays, idays, curdays;
  17. , J5 b6 d! l- F9 }. h
  18. int count =0;
  19. , ?8 B% ^3 ~* j0 \3 B  n3 _

  20. 8 c1 s: n6 J1 d3 l, ?* _
  21. while(cin >> pdays >> edays >> idays >> curdays)
  22. . \$ e/ a$ e1 i9 E/ p
  23. {
  24. & V! y; J) @/ q! D, M: ]
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1), g- q7 v: L# ?$ w3 I
  26.    break;
  27. 7 i7 G\\" @- P% |9 Y+ y
  28.   count++;
  29. $ J. g6 V4 l2 Z% F1 [0 p* d! w
  30.   ptop = get_Top(pdays,PH);% J& E  _( b8 `9 @# l, c% ?
  31.      etop = get_Top(edays,EM);' L' F! _, A3 W0 ]; M! m
  32.      itop = get_Top(idays,IN);) U) D$ V4 A& S2 }, T/ F: D( Y
  33.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  34. 9 G  B0 k& ?; C) R# I: W7 S! s/ w
  35. }0 J! o  A( ?$ F7 K; p
  36. 6 W( l, T6 z  |
  37. return 0;5 z6 N. Z/ i  m$ R
  38. }
  39. 8 e, U5 e7 j- B9 e\\" X2 ^
  40. int get_Top(int days, int kind)) q# f2 x8 A9 T  ^
  41. {
  42. ) N0 U6 R' T. Z2 w' h
  43. switch(kind)1 A& E1 z. [4 X4 ~5 }$ s
  44. {
  45. - |1 q$ @& w5 U$ [' h  W
  46. case 0:) `2 ?2 J. l& P' `* Q
  47.   return days%23;
  48. , n& f\\" Q# {9 [2 H0 Z9 J. d
  49. case 1:  i6 Q: b! L; t6 \9 ]
  50.   return days%28;
  51. / {, N8 P3 E4 s) t: A. ~# h1 j
  52. case 2:
  53. 0 }- }2 q. E$ i, J\\" y4 Q
  54.   return days%33;
  55. % n+ [% E% o/ x- ]! ~. G- x
  56. }2 c+ B1 C: H& }4 w
  57. return 0;$ E\\" h1 }5 r+ B! X- {  o+ I( q
  58. }) p2 v5 w  H  N. j$ T) B! |. ~! Q+ U

  59. ( s2 j- K+ a2 P5 _4 Q* _9 O
  60. int triple(int ptop, int etop, int itop, int cur). k7 O5 v( X8 g0 N) Q  B) V; _+ C5 Z
  61. {
  62. ; ?( e; B  X, R5 }9 V. ^5 P4 R
  63. float x, y, z;
  64. , g: U; m3 M\\" x% q* S, B& V
  65. int m1   = etop-ptop-5,' |  G1 M  v1 o. X  v& v9 {
  66.   m2   = itop-etop-5;# L- ?) q. x7 C% p$ G: x- G7 I
  67. int temp = 0;4 m, o8 O! R! g% r3 s5 m
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. 8 B0 m4 |' o# n% u+ c: i
  70. {
  71. 6 ~& E3 k6 N5 ~
  72.   temp = m2 + 33*z;
  73. / F& B\\" _; {& z' p: G4 @  u. S  a
  74.   y = (float)temp/28;& }/ t; k& G5 k$ v- a
  75.   x = (float)(m1+temp)/23;
  76. / l7 ~3 N* B: f) o% h$ A6 F; N
  77.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))\\" {1 c9 h1 r8 V7 U+ C3 l8 U3 s
  78.    return itop + (z-1)*33 -cur;
  79. ! n# r0 \4 r+ Y0 }, n; Y
  80. }- V6 k2 n4 r/ X! y
  81. return 0;
  82. + F% ~- J9 i\\" Y+ T; q5 G5 A
  83. }7 i+ F7 Q$ x7 U, [5 ]: c\\" A
  84. : {3 n4 D- _2 X( m: x/ w7 |
  85. bool is_Integer(float n)
  86. 5 s& y. N, Z% w, C/ Y9 ~
  87. {
  88. : p* U5 m+ l: T: D
  89. if( (int)n - n ==0)+ d: f# h; W9 O/ _, i& f
  90.   return true;, ^\\" {! M2 e4 |\\" O7 p4 ?
  91. else
  92. ) {\\" e  s- N! f& A$ s
  93.   return false;6 Y. O* K\\" ]7 \( q
  94. }
  95. 8 G) G3 u) a\\" \% a) h7 V

  96. & T\\" F3 M& K6 e. U2 u: X; D

( V& E+ L" Q: _6 T
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 编辑
    ) I3 [* H+ e! b6 `: d2 G( O; o2 n
    用float可能会有精度问题用中国剩余定理求解$ @% H2 D- A& O, H- g
    参考程序:
    % c% s& l* k8 x& J  A
    ! U& r! B" m4 s/ I' J8 A9 F#include<stdio.h>
    # D. S( [4 u8 ?* M) [  e3 wint main(){
    , _( \8 n2 a8 g( B* J   int a,b,c,m,n,i,d=1;
    + b: K# y4 V# g8 F. T. U' I; I   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
      Y8 q9 K, x* w, e0 P
    4 r9 d# [% W9 l4 y: h1 wif(a==-1&&b==-1&&c==-1&&m==-1) break;# e$ F8 t9 i) D, l
    8 {8 @. o% Q" [6 R; R
    n=0;
    6 e4 u' q4 T  f! F9 I/ h
    : a; v# k$ \( L: gi=(5544*a+14421*b+1288*c-m+21252)%21252;
    % s) M) `* p6 r' Y; G" |9 U% d# U$ x1 L) W6 q" F# Z8 G/ W) ^7 _
    if(!i)+ v0 r# U4 C6 @- e7 Y

    - s6 K9 f" B- e: \. Ki=21252;& k) f* }+ I" j+ Z) D
    : G7 m$ I- g0 W7 L8 Z9 x6 q
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);4 h6 t" y1 ]! w

    . D+ _8 E: c/ A# C   }+ K) F1 t* T4 I9 Z% H

      S' `2 Y4 n, F2 {- Ureturn 0;5 L# j5 ?. _) A( N
    }1 V  z2 H$ R5 L- A

    : H# p( x  b& _, V2 H& ^& l
    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 X: k! e" i1 f3 j' s- M  c$ n$ r; g3 ?! ^
    , \% ~% o$ z9 q" ?9 o* B
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    ' i7 M2 P+ A! q4 d6 u- S
    : e4 U, o) _* B* U1 T% E两个程序一对比,一下就体现出数学的强大力量! ' L3 o3 X% T( j2 y- w- h
    回复

    使用道具 举报

    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-29 11:01 , Processed in 0.435172 second(s), 87 queries .

    回顶部