QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-10062 z, L7 I0 M" A$ G! [* z
& I  c! u+ @, r# B3 N1 j4 k
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
/ R2 ~+ e' M7 Z( A3 j6 A" {' T( d" Q7 X/ V  Y7 ]
现将代码贴出,请帮忙看看:
8 |" x$ b" D% o: t
  1. #include <iostream>
  2. 7 Q$ ]0 I* k# X1 a, s5 s! K, s
  3. using namespace std;
  4. % C: a- L# @1 [
  5. #define PH      0$ H5 o% E. K, }3 l( D
  6. #define EM      1
  7. ' r+ B  y! j- s# \# ^4 _& k! ^1 j( O
  8. #define IN      2
  9. ; c\\" R; Q) g9 V& x+ r8 S
  10. int get_Top(int days, int kind);
  11. - J9 p' ^- `+ {8 \) d: t% d
  12. int triple(int ptop, int etop, int itop, int cur);
  13. + M+ E3 |, h% _8 ^$ V# h
  14. bool is_Integer(float n);0 u* Q$ y/ Q6 d* D* d/ |9 q: A
  15. int main()
  16. : _- c5 o+ ^4 O+ L$ T
  17. {8 S1 g4 n' P2 `7 Z$ s2 [4 ^5 ^
  18. int ptop,  etop,  itop;+ Z' {; d7 E0 u' N# U
  19. int pdays, edays, idays, curdays;
  20. * g3 M- l& C3 @\\" T; Z
  21. int count =0;: A, ?% S! o: `4 }7 p7 D\\" m

  22. % ~3 t1 ~0 \$ T* g2 p: K  D\\" Z
  23. while(cin >> pdays >> edays >> idays >> curdays)% G' z$ b\\" ^* D+ _5 p, B8 l\\" Z
  24. {
  25. 7 \7 b% s3 M( G/ n* h
  26.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1): H: T3 d6 A  }. f
  27.    break;' p( D8 |! u( q- o- S7 v
  28.   count++;: P7 A4 K* c6 @' x) X/ M- l, I
  29.   ptop = get_Top(pdays,PH);! Q7 u' }2 t- v
  30.      etop = get_Top(edays,EM);
  31. % w& [/ }% B$ I- J6 N
  32.      itop = get_Top(idays,IN);
  33.   S& z* O( b. [: N& @5 s
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";7 @+ p, o9 B6 m! A- W
  35. }  m9 h1 W4 w  A; e# X
  36. ; y, J/ u9 r: \+ ?4 I3 S: ~
  37. return 0;
  38. 5 O3 T' t  L, t* p5 O8 H7 r; \1 f
  39. }  l5 a1 d1 `$ ?( l& u: W2 ]% |
  40. int get_Top(int days, int kind)
  41. ( n% o7 x' L; g; K! i
  42. {, K. j/ [0 s2 z$ Y6 A
  43. switch(kind)! D4 r. `0 F3 W) e6 T: J6 L4 c5 a$ D2 |
  44. {
  45. \\" Q\\" L+ i- r3 r# x1 Y/ n
  46. case 0:  ~/ T\\" A+ \3 h: H  x  S# u# k
  47.   return days%23;  K! i2 K' J) w
  48. case 1:
  49. & u2 k. j& d- [1 J$ k/ i' R# @6 Y+ O$ e
  50.   return days%28;\\" x; c! w: \\\" y  G! W2 d
  51. case 2:' U+ b6 {# M$ \# u: ?* D% U2 X
  52.   return days%33;7 n( L  ?5 A2 y: S\\" }
  53. }- w3 C  V- Q/ c6 Z6 R! [+ [% k
  54. return 0;0 s. V' F2 X' N# J+ y- m6 o1 L
  55. }' D$ S- Q- X: p5 w: e
  56. ) c1 F- h; q  z\\" P
  57. int triple(int ptop, int etop, int itop, int cur)  w  V' N4 _3 `7 Q( n! e
  58. {4 f) ]$ H, R( O  o, F
  59. float x, y, z;  c  @, x3 f  r1 x: n) {
  60. int m1   = etop-ptop-5,7 ]\\" k% [+ }2 z) }+ }2 e+ G& b* \
  61.   m2   = itop-etop-5;. `3 E5 y. q4 @) y
  62. int temp = 0;, L0 i( j0 v' a! ^8 e
  63. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  64. 6 c* E6 d' B1 L6 J( P- L  ~3 L
  65. {2 [0 Q- x8 ~9 z8 |
  66.   temp = m2 + 33*z;
  67. 6 |$ l, ]7 [6 R. R
  68.   y = (float)temp/28;
  69.   }: D3 C/ r! n* h0 F& K# S0 F: h
  70.   x = (float)(m1+temp)/23;
  71. 1 C2 F$ U5 ^% g& b4 A+ a
  72.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  73. / U* o9 `4 @& K/ m/ G$ k( I; n! [/ p
  74.    return itop + (z-1)*33 -cur;$ q0 p; d! I1 C
  75. }
  76. % B2 C# S* J- R, ~
  77. return 0;
  78. . C0 @3 V5 m; q$ k4 j% t# n0 A
  79. }
  80.   N; I# L. o$ n, ^* u
  81. * l( a7 K% A\\" g1 Q) ]7 E' ?( \
  82. bool is_Integer(float n)' }8 i2 h1 m+ b- ?+ O  G
  83. {; A1 [' g4 Z& C. Q- s$ d
  84. if( (int)n - n ==0)* o, w4 \/ f# a4 @% `. ?4 B& p' x9 m
  85.   return true;! y/ Z\\" a) f, _
  86. else+ |9 ?: J4 a) p: I4 e; X) j
  87.   return false;
  88. / [5 w& f( V. K; P; a3 n
  89. }
  90. 5 a' K7 \* S; m2 s) {2 ~4 }; m; I
  91. 0 r' e$ H# D  _& {/ S

: A" s' v' o2 h" @, Z
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 编辑   ^/ A! F+ |4 ~, ]

    + s1 ^/ |5 G: G. H# D+ W! z4 B用float可能会有精度问题用中国剩余定理求解+ l; I- H9 u- X1 c' {% z& X; h
    参考程序:
    1 V' G1 [1 a% N3 g
    . I& c. \/ n9 B2 l# |. s' o/ Q#include<stdio.h>
    * v  F0 z5 U: bint main(){
    % B9 f0 j, I* ?0 @   int a,b,c,m,n,i,d=1;- g. z8 y- `) j7 x* a1 D  N
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    * r0 @: H! B7 M5 W7 @7 b+ p/ j1 v! {$ F  I' k2 I4 f
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    - N" Y+ k; L. q
    6 q# O- B8 t3 A; ~# fn=0;2 |3 G" c' Q$ U1 v0 A1 A9 ~
    & T5 q% n' {" {* ^# _+ o
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    ' L# O, A- ~; u! t1 S* H
    " i+ P, [4 j4 M. }' n0 aif(!i)
    7 y. b/ P) G' K8 d8 \* N/ q9 l. u1 n, c
    i=21252;3 F" O' q5 L* `8 }
    ; }) N* U4 Q  }: W/ |
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    + z7 x" l3 z- h, y# c. _3 p5 z+ C) X5 G' \/ i
       }6 @2 P5 v2 L) |' ]: b$ j7 I
    ; c8 M/ I- [7 ^' x3 i# F
    return 0;: w; k$ |( ?; g' X
    }5 [. P! E0 H2 Q- f  y+ B
    6 ?7 P: }( h5 n% v: c( |' o6 c1 H& I
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2645

    积分

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

    升级  21.5%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子5 T: M5 T* t) a& P4 q8 Y! ?$ F! r9 `

    ' p9 m  ^5 u$ u4 Q6 q; @, E0 |* N+ p3 K+ H/ I1 R
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看# Y2 Z# [8 |) w- f1 q% F6 y/ {+ w

    # ]& U4 T3 H" t5 @两个程序一对比,一下就体现出数学的强大力量! ' _1 V9 x5 R9 L3 i3 ]: `
    回复

    使用道具 举报

    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-6-20 12:01 , Processed in 0.499057 second(s), 87 queries .

    回顶部