QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-10061 {2 n8 a/ p5 a* {

. P; c& I1 ?* t+ c8 c0 X" D! K在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer0 G8 m6 t( @; `. U
! p6 F/ }# p+ N8 o
现将代码贴出,请帮忙看看:
, @4 D, z6 Z3 s2 M# }' V
  1. #include <iostream>
  2. - a+ o\\" N0 `, A, H2 s
  3. using namespace std;
  4. 0 y% C6 A% \# x- R; r
  5. #define PH      00 ]' A6 w9 T) w( W
  6. #define EM      1* _4 k! P8 u; f9 S& w
  7. #define IN      2
  8. . I) B* R( R6 y. U
  9. int get_Top(int days, int kind);
  10. 4 U' ~) p5 T\\" F/ N5 z/ A
  11. int triple(int ptop, int etop, int itop, int cur);4 M3 H9 Y7 b( J& y) C$ }! ~3 M
  12. bool is_Integer(float n);
  13. 3 S\\" ^6 a1 N5 o  [. ^
  14. int main()' w\\" k1 u2 ^; Q; c. I; M+ ~
  15. {- t- U% \* n  k: [. O6 Q+ h
  16. int ptop,  etop,  itop;- w  ^! ~* i4 j9 E  @3 U+ u7 e
  17. int pdays, edays, idays, curdays;
  18. . f& z# G  @3 k
  19. int count =0;
  20. . S! z! H$ c$ s2 V6 ]; j
  21.   ^1 m2 F- B7 g+ b
  22. while(cin >> pdays >> edays >> idays >> curdays)
  23. # O: b' y% E3 c: P
  24. {1 ?# `0 m1 j% ^
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1), e7 Y  W: ~4 n
  26.    break;
  27. & u0 Y8 f\\" v* a0 ?
  28.   count++;- d2 c/ S. H3 d& {, N# Y3 d
  29.   ptop = get_Top(pdays,PH);
  30. , y: I5 e$ x6 Y9 |\\" f. X) ~; G3 j: f
  31.      etop = get_Top(edays,EM);7 l5 \$ N% [- \
  32.      itop = get_Top(idays,IN);
  33. ) a, q+ d2 S- s' Y7 G
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";7 x( p# Q% c3 g# a' Y# S5 [! V2 {
  35. }% ^4 g+ Y- [3 r9 n  p% Y! b$ W; S
  36. \\" O; A9 `* b! p
  37. return 0;
  38. 5 E* b\\" u. c& }; d7 E4 q
  39. }& x/ B, a* A! C4 A! l
  40. int get_Top(int days, int kind)9 n: _! h$ B+ m' \0 ~+ n/ P
  41. {/ Z2 T1 j/ x& w& W/ V' d
  42. switch(kind)& z$ i) \) K5 d) b$ f
  43. {% P; V9 y+ Y, ?$ q+ f; T1 H
  44. case 0:  o# \6 h$ X# B0 ?  ?9 D5 k
  45.   return days%23;
  46. 8 Y3 b+ N- z( E2 V$ a3 l1 g) L& f4 z
  47. case 1:
  48.   n9 C9 u' g* ]% g
  49.   return days%28;
  50. - d' d7 y3 f  o9 N( @: n$ W5 {. M6 X
  51. case 2:0 j- v/ n0 o( O+ F; z& f9 Q; J# \
  52.   return days%33;\\" w% J9 l- f# a+ E+ E
  53. }
  54. 6 D4 E2 v, Y! @6 `
  55. return 0;3 H% a8 I& ~3 N& Z2 L
  56. }
  57. ' V& m/ O9 }; M2 S8 D3 ?: T( }
  58. 5 E9 O- k( D( o\\" [* b$ q
  59. int triple(int ptop, int etop, int itop, int cur)% |: i* k: x( t* o4 \, z- ^6 }\\" l$ T8 ^
  60. {' Y% p3 x+ a0 H: P' ]0 }
  61. float x, y, z;/ H' J) w0 d2 }0 S6 Q+ A& }
  62. int m1   = etop-ptop-5,
  63. 7 F- _1 a* |3 P' y; O
  64.   m2   = itop-etop-5;. N' |$ I+ B- b
  65. int temp = 0;
  66. 7 u/ ]/ o/ S( O
  67. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)1 w! `# l( _$ u3 [
  68. {\\" E  v' P$ V- c; z8 a9 z
  69.   temp = m2 + 33*z;
  70. 3 _. f, i4 M% l\\" d+ M$ Z
  71.   y = (float)temp/28;) J; F) f! b8 ]+ M
  72.   x = (float)(m1+temp)/23;
  73. 9 C! V6 v1 a* r! D+ G% }2 R! g
  74.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))' z/ [\\" l- t2 p
  75.    return itop + (z-1)*33 -cur;
  76. ' r/ x& ?+ a( N5 b% c; e
  77. }
  78. 2 a) D* z' }% a$ d7 ]% J
  79. return 0;
  80. & e+ U6 S4 z; f$ ?
  81. }6 z# V, d' Y! }: @; N( Q9 Q

  82. # p2 v0 Q\\" X& f! E7 D
  83. bool is_Integer(float n)3 f  a$ ]4 s4 o$ t; ~2 Z8 X$ A
  84. {
  85. ' D) A7 y( a, }3 \3 L0 l0 b
  86. if( (int)n - n ==0)
  87. 2 x0 D  X# z: n9 w
  88.   return true;
  89. $ v2 i2 J4 b6 P9 E& h3 r
  90. else! m  `8 a6 q# n8 {3 p) S) ]
  91.   return false;
  92. / v0 X& }+ U7 d5 u/ [
  93. }
  94. ( f7 x2 V6 K! ?% T, Q; B8 Z
  95. ) {\\" r; B1 o2 y2 I

4 U- K( c2 R, ?) A7 [$ C
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 编辑
    9 R0 A. A0 E- f) f2 f, U1 i# c: o# ?0 B; d7 x' Z8 ~, @& F. Q
    用float可能会有精度问题用中国剩余定理求解$ O2 Y  J; I4 S3 s4 ~# ]3 Y8 f
    参考程序:$ |' q  w' z" p& c
    % r; q! C' V8 s' o
    #include<stdio.h>  W# k3 u4 W: m! s8 l
    int main(){ 6 t2 y" y4 x$ G# M
       int a,b,c,m,n,i,d=1;
    2 v4 }- o& W0 P: ~8 ]   while(scanf("%d%d%d%d",&a,&b,&c,&m)){, J4 K9 J  t# i* _
    3 q* x8 d( u4 m! n
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    ( c! ^9 K0 `+ j
    ( R4 B' |5 u$ i# w& Sn=0;6 T. \- V  B& \+ g4 P! l

    0 |& ]7 _3 `, Yi=(5544*a+14421*b+1288*c-m+21252)%21252;( X) m  @! K6 j7 x0 u% s# p* u
    ; p* \# i5 r* K; h# d! B' L
    if(!i)* x( p, u" U  f  D5 s( ~

    " w' ?2 [1 a6 t, d2 Wi=21252;
    3 S$ V, E6 L5 {
    3 Z  e% @1 y1 j, @' sprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);7 G! l3 N6 b; n8 [& s: E5 c, |

    7 A" {9 r' T7 k/ n   }4 @% T& Q& O4 {6 `. @

    # h* f$ ^5 l) k8 p# Xreturn 0;
    . p# O$ ?( G+ O0 c+ d0 ]}
    * i* E; G' S+ ]' X
    7 m! P2 W/ x7 w8 }, j4 J! b
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2646

    积分

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

    升级  21.53%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子. }- o, i% F  v8 `

    , p" u9 }: p1 m3 b& v
    6 `# k2 ~8 H+ z5 S& d0 e    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看( f. j' K1 i3 [( t
    8 u$ O; T+ ]: o4 t/ J4 q7 I
    两个程序一对比,一下就体现出数学的强大力量! ( Y, z0 Y; }+ q; K" H, G
    回复

    使用道具 举报

    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-7-6 08:59 , Processed in 0.519758 second(s), 86 queries .

    回顶部