QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006  j( M" o8 ]+ F* {7 l) V! {  M
. J7 d& K+ E3 c5 H" L
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer+ |, S2 t9 M/ x  c, A
) T! X5 t) }# ^2 d0 C
现将代码贴出,请帮忙看看:+ r$ n7 S) v. t  ~! o1 y/ L, t
  1. #include <iostream>
  2. / p- ?# A: h6 B+ L2 l  d9 b
  3. using namespace std;+ ]) G! W8 q! C$ b/ I4 I% l0 {
  4. #define PH      01 `\\" q. Y3 L\\" K, p
  5. #define EM      1
  6. & v* h* |6 j! R3 `\\" ]1 [; @. B
  7. #define IN      2
  8. & r# w, @: `& C$ O5 W; n  l
  9. int get_Top(int days, int kind);' q  L* P  M! K0 t/ }
  10. int triple(int ptop, int etop, int itop, int cur);& s+ u4 ]\\" Y\\" C1 f9 U1 i
  11. bool is_Integer(float n);% {( y2 i' S) n1 g! i( }\\" g; m
  12. int main()
  13. 4 T- h* _. P$ N( S
  14. {
  15. 5 V( D7 D+ |. z0 R) D% Z5 o
  16. int ptop,  etop,  itop;  a. V7 e- F. z7 d' m' C) U) X7 g6 N
  17. int pdays, edays, idays, curdays;
  18.   Z# m& S5 x: c4 F* y
  19. int count =0;
  20. 2 _2 R. Q$ q+ x( ~- }. ~. b3 c

  21. ! ~. r2 C; G; X' S9 `
  22. while(cin >> pdays >> edays >> idays >> curdays)
  23. : N3 j' O* ]3 D; R, G; S
  24. {( h* j( v0 E4 ~. r
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  26. ; ]. T4 N, E& S: G* J
  27.    break;8 o+ G8 q2 s; J/ }  X
  28.   count++;0 q+ @& T+ e- u5 z8 E( c; ^
  29.   ptop = get_Top(pdays,PH);
  30. 9 i: u, d/ g/ a8 h\\" D9 v
  31.      etop = get_Top(edays,EM);
  32. 3 E# Q( ?, ~% i\\" `\\" h2 I
  33.      itop = get_Top(idays,IN);8 ], `! w4 Y! X9 J7 `( I; H; T
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  35. ; j. p: B! D  F' l- Y6 R
  36. }8 r3 T2 r/ I2 g6 b8 h2 I
  37. 4 u3 W. k7 r\\" O0 H& v; [- I% s
  38. return 0;
  39. - G\\" k$ o' A  l
  40. }; n/ Y5 q1 _5 d( [0 p' x
  41. int get_Top(int days, int kind)
  42. \\" c4 H% F* x& y8 C\\" S
  43. {
  44. # Z3 e6 v3 }2 l/ G6 h1 c7 q
  45. switch(kind)
  46. - \$ _: G8 W2 c! K1 k( g
  47. {
  48. ' u4 v5 @% q$ W6 g5 J
  49. case 0:5 d% o* }, x2 M7 f; u* T
  50.   return days%23;
  51. \\" k! Y0 |- h2 {, l, m9 Z, P
  52. case 1:5 B: e& F! N* D1 z$ U$ I3 K
  53.   return days%28;$ Z, f+ b0 g) }  L- `
  54. case 2:' C\\" d- j6 F% q, M
  55.   return days%33;6 F( o1 o0 L* Q+ H! w! q1 Q
  56. }0 G( X7 S- }1 l, m# z# e6 q
  57. return 0;
  58. \\" l1 i0 ]6 L8 o3 u$ r
  59. }, S  z# _  w7 @. e

  60. 6 `( b* M\\" h/ L. y7 n4 B+ i
  61. int triple(int ptop, int etop, int itop, int cur); I6 [9 Y$ P# I6 n$ b7 W! [5 r
  62. {
  63. ' O, N( t. Y. r6 ~. K
  64. float x, y, z;
  65. & L\\" S; `+ S2 r\\" Q% p
  66. int m1   = etop-ptop-5,/ M9 ], x/ m5 S+ Y4 z
  67.   m2   = itop-etop-5;# C# o% `: G/ t  Y\\" E
  68. int temp = 0;5 A9 H0 L4 F\\" D- \: u9 n
  69. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  70. ) E* I) s9 q4 @+ l
  71. {* P4 s- R4 g+ u' U4 x\\" W- W5 D
  72.   temp = m2 + 33*z;7 u6 W/ c- z% s9 s\\" h# L
  73.   y = (float)temp/28;7 X# V5 A( ~3 C( h' M
  74.   x = (float)(m1+temp)/23;$ K9 [4 T, P9 z( P# [- T$ L
  75.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  76. % {7 y# c, `3 s4 d
  77.    return itop + (z-1)*33 -cur;
  78. % g1 O* S; c$ p
  79. }9 M: f7 d& j; ?& r' Y& q1 O: t
  80. return 0;
  81. $ o- I3 h4 I) l\\" [/ }\\" X
  82. }
  83. \\" S* [% Y' t( _4 _7 ^
  84. 7 }, H6 s: Q5 ]! t\\" |: N7 g9 y9 [
  85. bool is_Integer(float n)
  86. 1 [# O+ U4 N) y4 K
  87. {
  88. % e\\" T3 ?) x  C\\" {! \: K8 b
  89. if( (int)n - n ==0)9 G  M4 o) A% b, e' l2 [
  90.   return true;. ]( `* [( ~) [- f! u% d
  91. else. F% P! @1 N. V9 z. @
  92.   return false;
  93. 6 r4 w. q7 I. d6 S
  94. }
  95. 4 v0 j, y. y; h) n7 J

  96. 6 C2 g2 i9 o. Z2 C) E& M
) C, ]5 Q; Q: Q% r! G; z$ 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 编辑
    / W8 u! r! A  T# z% n
    8 p) W$ K! f* ~" ~% r6 m$ Q9 i3 F用float可能会有精度问题用中国剩余定理求解
    8 D2 W& r/ c, m) k3 j& h参考程序:  C1 {! v5 b& y! C

    , H1 p) f. W0 D  d+ m* J: l#include<stdio.h>) P, [2 f  X# B3 R0 c* n* Q5 Q
    int main(){
    * ^) O) [5 |5 q' D, \   int a,b,c,m,n,i,d=1;
    5 v" {# J0 D, r   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    ; @/ N5 u% q# @# Y/ A- w; |0 X. [" a6 t4 c& f; b
    if(a==-1&&b==-1&&c==-1&&m==-1) break;8 z+ k, e# T. |, j. y; r
    # V" D3 l& L2 G5 A& D
    n=0;9 M3 G! Q! z* D5 s' J
    & o4 m9 C' I3 l5 C8 R& H# @* ^$ L" b
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    ) L  O2 B/ V& t: R2 u& d3 R  {2 |
    ' B0 G- c: P3 }- O. l( Lif(!i)- t% I0 D/ N7 Q3 D
    " R" x( u  l( D8 p% V- a* I
    i=21252;
    & s* l, ]/ Y% L9 p1 f, v) z4 |: ?  Y
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    & _5 o7 w' C3 A7 u+ v) ]2 M3 N8 x8 O; D, f, `+ l
       }, [0 z  C" T0 D

    7 N+ e* ~" `0 C3 H6 creturn 0;2 `. Z" v0 B3 L% m* O
    }
    ' _7 t) F" P/ f9 ]4 H$ {- B$ G5 C/ Z& P7 ]% A
    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 的帖子  e% c0 H' N6 `
    $ b7 o4 g2 I4 t& m# J
    6 |* n4 `+ ?' M% e6 g- G$ \
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看) d, d, j% U. f) k  q3 C$ l/ c
    7 F* E0 m7 M6 S5 s- u# a
    两个程序一对比,一下就体现出数学的强大力量! + B9 R0 t8 d7 u5 Z! f
    回复

    使用道具 举报

    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 09:15 , Processed in 0.348001 second(s), 87 queries .

    回顶部