QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
+ I, K3 J: Y: d, |% o) K4 ^" P+ _+ r+ o4 m$ ~# z
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer* r& b% P$ l, k- z! h2 Q
. B' @' v  Y, X
现将代码贴出,请帮忙看看:
& W+ u, p/ h' o- W2 v$ |  v* R* B' s
  1. #include <iostream>/ A0 A- F3 Y% W, [5 H
  2. using namespace std;
  3. % b\\" ^0 y6 ^- Z$ Y; L
  4. #define PH      0
  5. ; G% O. @$ O( V/ y' e
  6. #define EM      1
  7. & X! [# L% K, {' k
  8. #define IN      2- c# A1 K* f  Q, H0 \+ {* q. i
  9. int get_Top(int days, int kind);
  10. ' h) J8 t! Z8 F6 f% J- ?, g
  11. int triple(int ptop, int etop, int itop, int cur);, T5 N5 B' p: t+ ^6 a- l$ O. p\\" L8 o
  12. bool is_Integer(float n);
  13. 5 A8 Y5 f  o. [7 n0 `* q* Z3 E1 N
  14. int main()
  15. 9 {' ?* n; o5 f\\" z0 s7 l
  16. {
  17. 4 a& {: ^& }* N: e! k! p$ A: o
  18. int ptop,  etop,  itop;5 B7 a4 {\\" M* C$ n
  19. int pdays, edays, idays, curdays;& ^+ w\\" n; j5 S/ c6 d
  20. int count =0;
  21. / @: r2 U2 P' O1 R! z+ s7 w
  22. + y. f! S0 M7 t4 W
  23. while(cin >> pdays >> edays >> idays >> curdays)
  24. : S4 I* H# k6 ~1 g1 n
  25. {# q* l, k! M* U
  26.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  27. 6 W) j1 ]8 r) _+ ?$ ~
  28.    break;. t5 ^. n( t  I: D; D( x# N( N0 Q
  29.   count++;
  30. 4 A( p8 X5 c. n5 |5 ~+ O' Z1 e
  31.   ptop = get_Top(pdays,PH);
  32. 4 @6 a! G+ K: q7 T' @4 Z
  33.      etop = get_Top(edays,EM);
  34. : R, f; r2 j% g
  35.      itop = get_Top(idays,IN);
  36. ! n* m, R5 J3 g
  37.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";+ M2 j5 B4 \$ g6 v9 T) m# C
  38. }
  39. ! y! v: L- a# k

  40. 4 W6 h/ }! }2 c1 @
  41. return 0;+ k, ?( T2 G; V, U4 s! U  ~
  42. }/ j/ l4 J3 \& v
  43. int get_Top(int days, int kind)
  44. 1 \! i9 p) T0 d8 Y
  45. {
  46. \\" a# X- }  M0 Q0 ?. P; A
  47. switch(kind)
  48. * \: A9 O7 t3 y3 ^, }
  49. {
  50. # F4 `. W: r  K1 x8 X7 {; D& l
  51. case 0:
  52. ) ^$ R+ }( j: ]5 m* S4 P; h
  53.   return days%23;+ x9 t2 C5 P1 `, P1 Y
  54. case 1:, o9 G/ ^8 D% i\\" v/ g. [0 E9 A
  55.   return days%28;
  56. ) s& l# h) }% J. J% g. z\\" c
  57. case 2:; u8 ~$ ^# L* [2 L* T. l, o- u
  58.   return days%33;4 A7 ~: F# i, |# E9 |5 E% Z0 O# F3 _; u
  59. }\\" K0 Q0 W$ w! ]  ?
  60. return 0;
  61. % u) S& J9 y3 h4 Z: e- _: o7 c
  62. }
  63. + L3 K1 B1 w2 \* |6 [' _

  64. ; A; |/ Q* Q- Q% o- d; c% H
  65. int triple(int ptop, int etop, int itop, int cur)
  66. 0 ]; F# d4 y( F$ V
  67. {; C- }9 d* y% E/ K) T8 l+ V5 o
  68. float x, y, z;
  69. - U$ n) y1 K! i! V2 @
  70. int m1   = etop-ptop-5,% D9 B/ w& \0 _! y7 v
  71.   m2   = itop-etop-5;
  72.   M( ^( z+ t8 q/ I) G% e4 x\\" k9 K
  73. int temp = 0;
  74. ' `2 r: B1 o8 g! C' \3 m1 @
  75. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  76. ; D2 s* h' t' M5 p( O
  77. {, b+ [* z) x2 a5 L7 Z
  78.   temp = m2 + 33*z;, |; T0 O. d6 J, y8 Z
  79.   y = (float)temp/28;* z, ?! x+ E\\" G9 z! l# R
  80.   x = (float)(m1+temp)/23;. U5 C: R# `' d! r
  81.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  82. # D% f2 T- \+ `6 g1 J
  83.    return itop + (z-1)*33 -cur;
  84. 3 w: `& j9 q& S3 y# t' h& a
  85. }5 r% i$ _6 K; k
  86. return 0;
  87. 2 y  T! O; Z. p; @0 Q
  88. }
  89. ' A4 v4 c  j: P
  90. + X9 \* J( o/ ^  b; t4 O7 P' f
  91. bool is_Integer(float n)  m+ Q# @4 W% c1 |1 C. L. l\\" B
  92. {\\" P0 p1 M' g# D6 r  w- g
  93. if( (int)n - n ==0)- G$ X) j- B\\" H+ v0 j
  94.   return true;8 U( Q  V7 N% p* ?6 z+ n( e
  95. else2 t  w3 h) `+ a* S( ?: v
  96.   return false;* j* N' {$ D\\" w\\" X8 U( I& R
  97. }
  98. 0 B/ E5 M7 k- a
  99. 0 \, M4 b& S% v8 c; j# Q: R

; r  n  J) i( O* N9 K6 L
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 编辑 $ `! C; E: s0 \! D

    1 |$ j% o8 G  F7 F8 [/ N用float可能会有精度问题用中国剩余定理求解
    ( m: A0 G7 X; ^; L# F) e参考程序:
    4 a  i& S9 l3 Y" J  e  Q& j
    5 |4 Y+ H& h+ J" ?8 H% ]#include<stdio.h>2 I7 B- h6 ]' t& [, d% Q% I
    int main(){
    & x# y9 ~1 o$ E6 h) d   int a,b,c,m,n,i,d=1;9 x( r+ \0 `, M5 B* F( f
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    / }" Q- @1 R6 G" c: f6 D
    ( ]1 A" J0 @- a; E% Y# N9 Fif(a==-1&&b==-1&&c==-1&&m==-1) break;
    , H% P' U" o# H+ p+ n4 m
    9 i0 c# C' `& N# sn=0;! [. O  D7 [# Z- Z3 R2 a
    8 A5 \& J/ l  H. A7 W1 h
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    2 X& {' z( j# ]$ n5 P8 e  H* g. y5 Y6 Z( E
    if(!i)
    ' F* w& k0 C9 b" @: r
    9 {. n; K9 o8 J- A' P3 S3 xi=21252;
    ' A9 Z0 {7 O3 ^  X, n/ G4 {- }4 m9 g% L& Y$ A
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    3 N5 T7 i9 |) C- o$ e! ^( r9 v% D- i5 `% a; K
       }! D* w6 W# }, h

    1 _4 D4 c1 J4 m% J; S1 F+ zreturn 0;% V) b5 t) ~4 K" I6 F) f  k; I
    }
    & [' t' j: c; p/ |+ }4 p3 j4 F1 x- b3 H1 d7 ^
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2605

    积分

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

    升级  20.17%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    4 L: `0 w/ ~: [! S' s( R
    4 I, Y9 Z+ y* M& }+ T& s2 C0 Q$ l2 G# |9 @
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看1 J7 T3 u: V: f; u) w( R: l

    . E6 h5 j/ T/ E6 h! o1 S$ J两个程序一对比,一下就体现出数学的强大力量!
      f( A) l0 o2 e) R9 E1 z, @
    回复

    使用道具 举报

    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, 2025-7-12 02:52 , Processed in 0.523670 second(s), 87 queries .

    回顶部