QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
: x# J$ k: Z; t0 O6 n' b* ~( P/ s# U8 O* M
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer$ o& g  X+ S' t$ c
9 g5 M  W' a8 G8 b$ W2 H5 i/ I
现将代码贴出,请帮忙看看:
, D/ {+ }& E1 v! t9 ^
  1. #include <iostream>
  2. 0 E\\" Q8 t* w, J\\" t+ y' T
  3. using namespace std;\\" a6 B; N! `+ d2 v. B; c4 M\\" J, ]/ z
  4. #define PH      0
  5. ( m* W  W9 G1 K0 G0 t$ V
  6. #define EM      1; v' N5 M9 C) h1 q% w; p! K! W% y
  7. #define IN      2
  8. ) k( w: t2 U; c0 U\\" K: V7 L
  9. int get_Top(int days, int kind);& \: q& U2 c$ ~. ?: U6 ?+ I
  10. int triple(int ptop, int etop, int itop, int cur);
  11. / g$ @) g: f* V& {
  12. bool is_Integer(float n);3 g8 n) z% {9 a+ |. |$ n
  13. int main()) Z' \1 E: k) B, L9 s3 M9 \
  14. {9 A2 _' B& k- B0 `  d  s) N
  15. int ptop,  etop,  itop;
  16. & |8 F6 W\\" W\\" `5 \1 T$ I( c' _
  17. int pdays, edays, idays, curdays;
  18. ; V8 m# Y2 X\\" r$ D\\" d) h
  19. int count =0;4 ?4 _& p+ V2 [( E, w! A  G; n# l% V
  20. ! l% d\\" }) i. d8 D
  21. while(cin >> pdays >> edays >> idays >> curdays)6 |7 {6 i8 i3 F$ J
  22. {
  23. - y1 {2 b' h9 r
  24.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  25. 4 X% ~' @& c5 v, ~  m$ i
  26.    break;9 {. Q+ |  B% p' t1 \! b
  27.   count++;
  28. . |7 S- r/ O( [
  29.   ptop = get_Top(pdays,PH);
  30. , S$ r1 V* B$ Y/ W+ q: w5 Y
  31.      etop = get_Top(edays,EM);
  32. 3 k6 ^1 C. Z3 B1 t6 T: C5 ?5 k' V
  33.      itop = get_Top(idays,IN);) u7 t1 B8 T% B\\" R/ \+ G
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  35. \\" Y. l1 T3 B1 ?/ C$ I, y\\" f6 S) [
  36. }
  37. 7 s# a; A6 h( f+ x: d

  38.   U4 D- s, e, a
  39. return 0;) [* ]1 Z- C) c% V
  40. }
  41. ) z9 c5 W# y3 F2 G
  42. int get_Top(int days, int kind)
  43. * w$ r1 Z' w1 F: ?' \4 O
  44. {2 p4 c( I/ z, k- I\\" ^: M9 E+ c
  45. switch(kind)
  46. # c/ Q( @2 F# L7 V
  47. {7 f4 O! R6 ~4 j; \+ j- c0 z7 X, n
  48. case 0:# D' @+ n\\" \1 W  [* t! c
  49.   return days%23;7 `2 y! _! H- Z
  50. case 1:* X$ q\\" J  [& u- G
  51.   return days%28;
  52. 5 D* `# A0 ^/ `* }6 i
  53. case 2:
  54. 0 V( K. a8 k% N
  55.   return days%33;) F; ~& D0 k2 d4 Y4 }  P: r
  56. }
  57. * X( ]3 [3 ^7 I9 d\\" h, m
  58. return 0;4 A5 G9 R: O1 f/ V; S* J
  59. }* ^0 ]4 d6 G& x1 g8 D3 [8 S; M

  60. ) W+ m\\" v- s6 H9 a! f# K
  61. int triple(int ptop, int etop, int itop, int cur)6 Y- f) n8 i\\" v6 Y! X9 ?
  62. {% p; ~6 b4 |6 ]2 k3 G# T4 p
  63. float x, y, z;
  64. : t5 }. N2 f* [% M
  65. int m1   = etop-ptop-5,- ]0 {9 V, ^% A1 X4 l! Z
  66.   m2   = itop-etop-5;4 `\\" N: t# D1 j, D\\" [7 _1 O: s
  67. int temp = 0;- h8 ~; {0 T, F8 M8 @
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  69. ! n6 R- w  R% f# H) d6 k1 }
  70. {
  71. 6 V$ {4 Z$ c4 r: t# X- g7 B9 v
  72.   temp = m2 + 33*z;2 n% i+ G9 V* Q, g
  73.   y = (float)temp/28;2 G+ c: U- q) s\\" m: L\\" d
  74.   x = (float)(m1+temp)/23;0 D& C7 y) w5 ~8 }9 x1 o
  75.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  76. 3 B/ h5 G$ B( Y# c1 S
  77.    return itop + (z-1)*33 -cur;
  78. $ f8 l8 q  q% u3 G6 E  r9 F  p9 X
  79. }. i& M$ V3 m5 g. c( }
  80. return 0;
  81. % L% d  S3 z5 R3 Y$ W4 n/ V  j
  82. }
  83. 6 P* k% [( S, Z2 }
  84. 7 T  Y\\" a0 Y3 |6 n
  85. bool is_Integer(float n)7 b8 {7 Y+ l5 o% l' R
  86. {
  87. 5 S& H! z7 D5 T# H
  88. if( (int)n - n ==0)
  89. 9 m5 \8 t- j- [+ j; K
  90.   return true;
  91. 3 N6 z$ E6 g3 \
  92. else5 y) ^0 Q. h! h# n  P2 {9 Y
  93.   return false;
  94. 6 O0 q2 {& I; ]3 T% w, M# H
  95. }* W; P\\" Z$ h, k

  96. 5 G8 J( {8 k, F- f$ N\\" R( a* B
- C( y+ {% V5 m" {
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 编辑 $ V1 n  K9 U4 [% `' c* r& n7 J4 @& A
    9 l3 g2 u7 E! M* Y- g$ i
    用float可能会有精度问题用中国剩余定理求解
    0 E  r! W$ ?  ?4 s5 `' C3 t参考程序:
    0 Y$ t, j' p$ A: P. k$ ]
    : O+ Q  V4 ~* L2 u#include<stdio.h>" x! }9 q: _( h6 r
    int main(){ 4 r- x; g' D- E
       int a,b,c,m,n,i,d=1;& H' Y' q8 n0 V
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    9 r8 V+ R7 z% O9 S$ |( u8 X4 U
    ( C' z' _. [2 Y& j8 V, ?- Q: t2 Nif(a==-1&&b==-1&&c==-1&&m==-1) break;1 k6 x7 B: r9 a5 W: \/ n
    6 M* j8 s+ y( ]  p' J. e9 _
    n=0;# W6 Y( l# {2 e% ^- Z& d+ U

    2 m$ H: o3 f! |. f( U! R- Ai=(5544*a+14421*b+1288*c-m+21252)%21252;" {" z- {0 N# `& {% L

      p/ F% R4 ^! y( f: Zif(!i). M2 w4 J. S' g$ R* V& m

    , |' W" ]% V) ~i=21252;
    - j/ K% o9 u5 z  P9 o7 o" g. b% |
    4 \- A% z2 p4 \2 |+ w/ Hprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);7 k3 d1 z$ @0 s4 G# z
    . b! ^& F" Y1 I3 h
       }) L$ q" r# W) v' ~
    8 ]5 K! ?" y; T$ F! x) S+ w
    return 0;
    , m7 x- S. J- p: s6 V8 x! H}# t+ @' E9 V, u" u- W

    + w: c/ d2 r4 ?
    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 的帖子
    7 d# c8 V7 _4 E, z) v6 D3 @6 ]0 Z" ]) v- I% h
    , J8 ~9 y5 v3 u$ n* y; I
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看! J; H5 B! A0 v: ?

    ' k4 w% S. A- p& q两个程序一对比,一下就体现出数学的强大力量!
    - L8 _- `6 {- |+ N9 t5 X( B
    回复

    使用道具 举报

    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 04:04 , Processed in 0.413047 second(s), 87 queries .

    回顶部