QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
$ |6 K% X; V  l5 w1 A, E9 a( S
- q! _+ \" h: x) u3 f在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer" X* c6 `0 P4 c( }& A

: F5 E# V: D6 P& J2 k现将代码贴出,请帮忙看看:
; c# d0 [5 h: Y  v& _% r6 {- D
  1. #include <iostream>5 h0 G; [! k; S) i* j: m
  2. using namespace std;
  3. 5 L) j$ ~! w8 A- [
  4. #define PH      01 J2 S1 y  a( y; S
  5. #define EM      1) Q# E& F; n8 \2 A5 z
  6. #define IN      21 t- u* `% a- o/ z5 m
  7. int get_Top(int days, int kind);
  8. + r1 L) \. B6 k5 y, o0 p$ k
  9. int triple(int ptop, int etop, int itop, int cur);
  10. 4 Q' p8 O& Q. t4 a0 g
  11. bool is_Integer(float n);
  12. ( w2 q8 _\\" \% H! s5 {\\" q. x
  13. int main()0 y+ h# F6 z, h! R3 H3 U
  14. {
  15. * d5 C* M. N! A+ a: V0 h- d
  16. int ptop,  etop,  itop;\\" i. M* g! _/ ]1 H1 s1 t
  17. int pdays, edays, idays, curdays;1 K0 |1 A. e$ `\\" ]
  18. int count =0;* a' |% n6 U# Y9 ]* |$ B5 U5 @

  19. 3 Y3 Z3 J6 P# F* c' U
  20. while(cin >> pdays >> edays >> idays >> curdays)  p0 c* P! o8 C/ K\\" N
  21. {5 m- F) f4 T9 e% L3 m, f6 \& W
  22.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1): U* S# T/ i: ~( i# X( p
  23.    break;
  24. : p: s; B1 R9 {) P
  25.   count++;0 @; x) @& D5 D0 B7 x# K' s
  26.   ptop = get_Top(pdays,PH);
  27. 5 n) I/ Q: O5 S3 g3 ^5 A
  28.      etop = get_Top(edays,EM);
  29. 4 O/ Q! y4 C4 S3 x! {) R
  30.      itop = get_Top(idays,IN);* g0 H& ]\\" y+ f* B2 k! w; U. q
  31.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  32. ! O) V3 h. O0 Q
  33. }& A: h) F\\" x) N  L! n* y$ N( n5 c
  34. : [) V3 }: c+ G& Q4 I
  35. return 0;3 K0 d/ l# F  l+ s6 E7 ]
  36. }: B0 _7 M, b4 T  i
  37. int get_Top(int days, int kind)
  38. # v. a\\" Z\\" {+ o% v: _2 ]* t; D1 o
  39. {
  40. ) h+ e) _\\" P, I: f6 n4 s3 h' Y
  41. switch(kind)
  42. 4 M% O  V2 ?/ X. ]- e; ^
  43. {
  44. & X. a: r+ h# n( k1 _: M\\" i6 u
  45. case 0:* z& d\\" G: w6 w1 K+ {- {* T
  46.   return days%23;
  47. 1 @; O* E  y8 |\\" F\\" B6 c
  48. case 1:
  49. , K- e, z4 S. D. A3 W2 I: {
  50.   return days%28;
  51. 5 ^& ~8 v2 P/ x; }' y6 z3 V
  52. case 2:9 F) z9 G\\" F4 t\\" @$ e
  53.   return days%33;1 M# |3 r1 E, ]5 f- ~* j
  54. }# h: E, a; z% E+ e+ p( ^8 b
  55. return 0;
  56. 4 C. I# b  e) Y0 }
  57. }
  58. + p5 I+ C' I$ v
  59. ' \7 Q% g; O' ]# z3 [9 c: C
  60. int triple(int ptop, int etop, int itop, int cur)
  61. ( B; b1 d& }\\" Y* @2 T
  62. {
  63. ( t0 ]\\" @; Q( i5 L. |
  64. float x, y, z;
  65. ' `, N' W  m( ]\\" y
  66. int m1   = etop-ptop-5,
  67. . T1 n# \9 k1 j2 R% W  ]+ _; x$ [
  68.   m2   = itop-etop-5;
  69. 2 M- c) }4 m( E$ m% j: r: {
  70. int temp = 0;
  71. # Y. p+ H5 C% e
  72. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)% z  y' m6 p$ a\\" o
  73. {
  74. : n: G* ]  D1 W) }; n
  75.   temp = m2 + 33*z;! G' C0 b( A7 `% |
  76.   y = (float)temp/28;; I( s' ^7 K# r7 `+ ~1 \  {\\" X, o: R
  77.   x = (float)(m1+temp)/23;
  78. 6 }0 v' [1 f. ~2 q3 y
  79.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  80.   |. }, g/ l) {) \- O
  81.    return itop + (z-1)*33 -cur;
  82. & L! j5 T9 {  f
  83. }, l2 N3 [  f5 U7 E
  84. return 0;6 P/ C$ z+ Q; Q, f# d* y
  85. }
  86. ' Y, x$ j2 A3 i8 Z1 F
  87. $ B) m' m/ r  N\\" u7 _
  88. bool is_Integer(float n)
  89. . w6 z\\" v; Z  f, b' s
  90. {0 ~1 g4 e/ H\\" H1 V6 v1 \8 w
  91. if( (int)n - n ==0)\\" |1 G6 T, a\\" n$ }\\" {
  92.   return true;\\" E3 j' f) f6 n, c
  93. else9 Y0 A5 r8 a\\" s\\" s, k8 G, d
  94.   return false;; B+ x$ S( ?; F
  95. }
  96. 5 g; d1 ]* |( z6 ~
  97.   s% [+ b* m8 A& s) g  g8 d9 [

: p: |7 J3 ^% O7 E9 y) C" H
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 编辑 1 z! Q* O0 N. f7 w' _6 ^5 q6 q
    . L- V3 c* h' r" i2 R) O
    用float可能会有精度问题用中国剩余定理求解
    , @; ~' ?+ i% a) W参考程序:' |& k. X8 o7 L5 E

    / ?# a6 O3 ?+ _, c& d#include<stdio.h>
    ) n$ a# n4 {( u, _int main(){ & t& ^2 A, o/ w4 B# Z
       int a,b,c,m,n,i,d=1;" M- b7 g) o2 S, B
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    ; W2 Q! ~5 H, i; J- L& U2 y+ N0 h0 R, G' D+ ]0 F$ {6 N
    if(a==-1&&b==-1&&c==-1&&m==-1) break;% z3 O8 g- K" H$ x- P
    . S* u/ s5 _! S+ T1 f( N
    n=0;* p/ v; ^# {$ o6 _! l

    - d( X( Q7 D, E* S8 W5 _- Ei=(5544*a+14421*b+1288*c-m+21252)%21252;
    ' i; A; A) y6 }) R& P) ^1 y, z. S7 `! s4 @9 @
    if(!i)
    0 T+ g! L$ I( Y& x, S$ b& [. P! x- o6 O; b: j
    i=21252;( J& I+ E! b8 i+ t

    ( P7 v1 r; J3 h4 O: o. @printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    5 q) w- _/ c( m3 e8 H1 s; u! t$ {  @6 ^3 {( I2 W  d/ c
       }
    5 T( L. q8 b, p
    3 c6 c' ~" f  q: a4 D' dreturn 0;# h0 n/ @0 s( K
    }+ S; i# d/ E1 F2 Y  E

    ) r: O/ R, B- L- Z, }" L/ P/ z
    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 的帖子
    + z" }' w' |6 R$ ?  A+ ]) l7 z' V$ J+ v$ E. p0 f

    & J' [* y6 q8 T: S: l9 v) U    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看: R) [5 @) e" b2 |+ B5 z( [

    ( i6 H6 w7 _8 Q) C两个程序一对比,一下就体现出数学的强大力量! 7 s4 t7 z1 k) `( m: G9 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, 2026-8-8 15:40 , Processed in 0.515286 second(s), 86 queries .

    回顶部