QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
) [% H5 K+ O: z1 ]: {+ S
* u5 }9 c, t# f* l. y  p, Z在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
! {; U! J# t+ N6 r  Z+ Z% x9 x6 Y$ G# P9 g
现将代码贴出,请帮忙看看:
5 j9 u, M) R2 u: V  _1 C: s* U9 J
  1. #include <iostream>
  2. 0 x; u, E6 N) f# Z\\" Z8 P
  3. using namespace std;
  4. 7 R3 }/ o3 D2 v3 o1 N+ h
  5. #define PH      08 j# ]4 ]! U! l9 o. N* B
  6. #define EM      1
  7. 2 I+ J. R2 u( n& F
  8. #define IN      21 K( c& e+ \; `2 G2 d, R
  9. int get_Top(int days, int kind);
  10. 3 \+ a2 X2 S' S! i; v9 y
  11. int triple(int ptop, int etop, int itop, int cur);
  12. 2 s1 v; B( U; |, Y
  13. bool is_Integer(float n);
  14. % k! z3 O3 \' g- F. U
  15. int main()
  16. 2 r1 W0 v0 D/ Z: F1 ^: e  C/ T
  17. {
  18. 0 Z\\" b/ E6 _3 o- S
  19. int ptop,  etop,  itop;4 h6 m$ |7 \% d- \# T; n* r
  20. int pdays, edays, idays, curdays;
  21. ; {  F; X) ~0 q0 Q% I. z
  22. int count =0;
  23. % k6 S* D0 z\\" U: P! c) h. d

  24. 6 q+ z) w& X5 ]\\" h( B3 M
  25. while(cin >> pdays >> edays >> idays >> curdays)* ]% w) l8 v. B/ t* t
  26. {
  27. % _1 i5 J1 x8 G\\" ~) e# s+ C
  28.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)+ d' ?/ _! {\\" ]4 n
  29.    break;; E5 O/ ?# i4 l+ A3 z- m5 }
  30.   count++;9 \2 J\\" L+ r/ Q% E
  31.   ptop = get_Top(pdays,PH);
  32. 0 H$ k: Y6 u( d( V
  33.      etop = get_Top(edays,EM);4 M% ]  m# D0 r
  34.      itop = get_Top(idays,IN);$ }) T& E1 U% G0 u; y. b2 f* A
  35.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  36. 3 b, Z, g  g4 b% @8 V
  37. }* q# D% {' t( m- M: i
  38. / l) v' W/ G4 r2 r; C+ K
  39. return 0;
  40. ! w5 ?5 u- j# X
  41. }0 d( t8 C  d, A: ?: z4 O+ |* x) m
  42. int get_Top(int days, int kind): K$ p+ y8 g\\" y2 ?) R
  43. {9 M- e. {: C6 R: B: i' ^
  44. switch(kind)
  45. 4 f* t9 w  D4 L
  46. {
  47. 3 }# n+ _% o9 Q- U6 ?\\" o
  48. case 0:0 M- a- `. P\\" \! C
  49.   return days%23;
  50. * U0 Q9 R5 `6 U# p2 S, {0 Z& t
  51. case 1:8 t1 U/ z9 I. s$ \6 [3 g9 v# c
  52.   return days%28;
  53. $ y# L& d: X! s8 V0 O1 n3 w: H
  54. case 2:6 U( o% L  s! z- V
  55.   return days%33;
  56. 5 n, d) U) U# f
  57. }
  58. & y9 q7 [# J* r) p
  59. return 0;
  60. ' l. {* D! m! q% J  |9 s
  61. }. P) V+ z; u8 P1 G% W/ x; h
  62. $ k- B& T\\" K; k# O  {9 F) Z) }% P4 t
  63. int triple(int ptop, int etop, int itop, int cur)
  64. ( {! P0 w: U9 Q\\" H) ]% ]
  65. {& z6 t6 I8 t- `7 h4 [3 B+ o
  66. float x, y, z;1 x0 ]7 e! N. W% Y
  67. int m1   = etop-ptop-5,
  68. - z; I2 B' l4 |5 r9 U
  69.   m2   = itop-etop-5;5 L* D  {& K  N* R6 b' e
  70. int temp = 0;/ }% ~- l- w% X& U
  71. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  72. % X+ N% p( t) P, t+ I: q
  73. {: Y7 i+ G. Q# a' x# x; o
  74.   temp = m2 + 33*z;  F8 S+ q& B) g% t; A
  75.   y = (float)temp/28;
  76. 4 K& v1 D+ J+ \
  77.   x = (float)(m1+temp)/23;
  78. ; D' e# O\\" q* V3 F  ]# x1 o; R
  79.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  80. . r4 _. W' ?9 [/ v\\" m+ g+ v, ]
  81.    return itop + (z-1)*33 -cur;2 z. \( o% Z' x+ `+ s; I
  82. }& S- }5 {7 Q- `
  83. return 0;
  84.   c4 K3 H2 Z  t
  85. }9 {' C# I0 y9 S# y9 H
  86. + g# D7 T$ z; J
  87. bool is_Integer(float n)4 z0 B% _5 ^! Z8 E1 y
  88. {# L3 d! O1 e, V& r# O9 A! @* Z* h
  89. if( (int)n - n ==0). A7 b9 q* b7 ^! P  }% v
  90.   return true;# Q( V6 M( ^: W, L( Z6 n: G7 d( _
  91. else
  92.   M  h$ H5 y$ F5 o( P2 s, ?
  93.   return false;( K, ~( _; ^6 p  Z9 y8 Z$ U' V
  94. }
  95. 9 l6 b# Z3 }  p' m6 m' O+ Z% |

  96. % x6 M) V& h* x- [& D1 ~. Q, M

7 v% s) {- P  Q3 d4 q0 w( I2 [
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 编辑 6 S6 A! \/ |, Y9 g

    3 p9 ~# M6 w4 ^% [3 x4 z5 Z用float可能会有精度问题用中国剩余定理求解
    , K9 A: {1 m1 z* x8 r参考程序:
    , P  f/ t0 |( k+ ^" i6 O
    % ]" A. m# a, x7 O- x9 O. |#include<stdio.h>
    : e/ I; J* x2 I+ B6 Kint main(){
    8 r; J0 O" m( r! h7 P   int a,b,c,m,n,i,d=1;
    ' h& s% z# D, t  p& U   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    % `) _2 L# X1 q7 y/ u% c8 w
    1 V2 B: {4 B0 Y  V& Vif(a==-1&&b==-1&&c==-1&&m==-1) break;
      |! I, _  n5 A3 [# l; _  Y( N; t* L1 `7 a9 A
    n=0;
    / X. n& G) B) }$ [. e
    / m0 ]3 s6 ]. T8 }$ v0 Y: J4 }- @i=(5544*a+14421*b+1288*c-m+21252)%21252;
    7 I8 a! O0 o$ s* \# h( y3 b& I
    * Q4 F7 B1 w8 V+ C, f: Uif(!i)9 n5 Q  S3 k) q) X1 s/ L' H
    ' ~4 a6 \+ |* W6 F
    i=21252;
    0 i9 |( [: H5 v2 S# ~
    & v$ i) I, V6 }$ ~+ c6 R) Lprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    9 n! d/ K4 ?6 A3 ~" e. A9 _
    . M$ X$ p& A3 j6 F: B- A1 a   }# x: w$ G& c* t+ k* J( D

    9 Y8 U9 E6 X6 Q: m. o0 ~5 H3 Creturn 0;. u+ O1 W: t& E3 A5 H1 l% L. C
    }0 M, h. c( G3 X3 u9 Q- |
    , \- `3 K! m' _) C5 R) a$ _
    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 的帖子
    ; A3 b/ ^, \3 ~6 j3 z" H& d- B* W% Q: q+ {4 F! Q

      Z- o5 ?6 n: c) ~    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    # Q3 y- t+ E! u% X# g0 r: i9 j; E- t
      N, D0 ^) p; Y- Y! n! F两个程序一对比,一下就体现出数学的强大力量! 8 Z* Q/ M6 B+ h# U% x/ q
    回复

    使用道具 举报

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

    回顶部