QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006( j7 y- n; b' Q/ i& v
9 f6 M3 t- }# W3 v6 p
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer7 u; A. Q+ w; E& t' j

' f% ^; F9 q8 }# g& u7 J4 s" o现将代码贴出,请帮忙看看:  d! ?0 s! O7 t
  1. #include <iostream>
  2. % f1 i, @5 r0 h7 t- H
  3. using namespace std;
  4. 4 ^, g! ~7 s& }7 g1 d5 H# P\\" j3 n
  5. #define PH      0
  6. 2 z) x' J. ?0 z, R$ B& Y
  7. #define EM      1, b% d% E5 e0 B+ Y8 b2 ?
  8. #define IN      2
  9. 4 x$ M! t: W( s\\" n9 R
  10. int get_Top(int days, int kind);
  11. ( b: \; ^+ |; n& y
  12. int triple(int ptop, int etop, int itop, int cur);) _+ l% i- q; |: l& V- r
  13. bool is_Integer(float n);* R+ |. Q3 I$ W( [
  14. int main()
  15. 2 l* S  }  o( ^, [
  16. {
  17. - O) V: g6 N( k6 E4 s) w
  18. int ptop,  etop,  itop;- j- E+ }6 }# A. M- j
  19. int pdays, edays, idays, curdays;. i: ^' d# A4 [7 d
  20. int count =0;. j! z& q$ I: _7 J0 F) V4 K
  21. 6 V3 @6 j& c3 I. G( z, m; ~6 `
  22. while(cin >> pdays >> edays >> idays >> curdays)  J% h5 U6 S  B. k9 r+ e/ T
  23. {
  24. $ Q: ]- U, ]4 V7 w) u& {& D& O2 a9 K& Y
  25.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)0 Z6 D' p( H' y3 X7 D9 y% c4 P
  26.    break;
  27. ; r; v4 j6 R( {6 W
  28.   count++;2 E, \3 s( w% ~$ v4 h9 S9 @2 A
  29.   ptop = get_Top(pdays,PH);2 O3 t2 f& Q0 B6 N5 w8 _) j0 U
  30.      etop = get_Top(edays,EM);
  31. $ Z% G$ i+ S8 {+ Q+ v
  32.      itop = get_Top(idays,IN);
  33.   s: A. A8 T2 `  c0 ^3 o
  34.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";6 m; C/ f! ^- S- w) k
  35. }& M% Y2 t' g  p6 s: s

  36. 8 N# X3 V$ N7 n, v
  37. return 0;9 o! E' ^) Y! c2 L+ Q: P
  38. }
  39. \\" x) s: z7 q  b% W, t2 W& o
  40. int get_Top(int days, int kind)
  41. 4 ]8 P. ]# C1 n* X1 F% A
  42. {
  43. ; u4 z4 t5 d) y2 Z8 w) B1 C
  44. switch(kind)  |' `  Z/ V+ @% h9 r' t3 ]
  45. {\\" ]! Z\\" F5 v- ^- e4 x% E) j1 k
  46. case 0:
  47. 1 G$ ]$ U3 \4 \1 I$ h6 x; O
  48.   return days%23;3 P) y; {6 g' [4 S! Z\\" X
  49. case 1:- M- f3 k* q  x\\" n7 ~
  50.   return days%28;, P0 E2 o\\" y$ T: C0 I
  51. case 2:
  52. \\" n$ v, c0 ]) s; o
  53.   return days%33;5 {# f/ q4 G. z\\" s
  54. }
  55. , F# @% @8 S/ O& k- R
  56. return 0;9 _( [# x8 l5 z2 P% O; Q& w- E
  57. }
  58. ; k8 L  k\\" G; Y0 i7 x

  59. & Q5 N8 N/ c* u, j. y5 W8 q
  60. int triple(int ptop, int etop, int itop, int cur)
  61. & L9 o; l# S/ A3 \/ ]/ k
  62. {
  63. & [. j, X\\" v* ^1 O# K. a
  64. float x, y, z;1 h2 d\\" ^  L; c9 w( F
  65. int m1   = etop-ptop-5,: N% t3 R2 ]9 {+ @% c
  66.   m2   = itop-etop-5;
  67. 4 P  ]5 ?) p9 y  ?9 y- C7 x
  68. int temp = 0;3 O  |/ \8 E; {5 h2 i4 n
  69. for(z=2;  (itop+(z-1)*33) <= 21252;  z++); r8 V. c0 T2 f6 f$ P, N
  70. {$ K9 p1 H- C0 l; x$ ?
  71.   temp = m2 + 33*z;1 d3 O2 I+ n$ F
  72.   y = (float)temp/28;
  73. 5 s7 `& Y% N+ p/ ~# F! \! c- P
  74.   x = (float)(m1+temp)/23;
  75. ! V6 |# F4 h- t# {\\" L/ i1 L( Z
  76.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  77. ! S$ E\\" h  V! O5 d. {# S
  78.    return itop + (z-1)*33 -cur;
  79. 8 a. @) M: E; r
  80. }
  81. 8 ]$ V- q  [9 T; ^
  82. return 0;( B5 j& E\\" G+ d4 k
  83. }) q* f) q$ k- @9 k
  84. , y1 ?0 r8 ]0 [+ D- ~1 {
  85. bool is_Integer(float n)
  86. % c7 v& \2 H# _
  87. {' l! S  l- \5 I6 D; v
  88. if( (int)n - n ==0)
  89. ' R% R: O* t# H4 f9 T) _; S9 |: `1 b1 m
  90.   return true;) v  S- q) z$ o- C8 [& g. Z
  91. else% N5 M/ J- S2 y: K9 p! ~
  92.   return false;4 H+ W2 J1 D$ e/ E7 M
  93. }$ R2 G- W* S( x' c1 e. B

  94. + H& s0 `% L3 _+ q  u1 V0 ~; ]

7 ]7 t4 y/ o  U4 @7 ^" g8 u3 K
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 编辑
    2 H$ p! B6 z$ Q/ G" y% z# m! W
    3 A' M4 ^/ x7 ]% w$ n2 W5 r6 m用float可能会有精度问题用中国剩余定理求解0 i$ {! s- W9 _. {
    参考程序:5 c8 `' M8 ?8 f

    8 @% `$ K/ t6 S8 P#include<stdio.h>
    - a) N* s, c1 j( r5 z0 F, rint main(){ . w2 O: I! {- U+ r& J
       int a,b,c,m,n,i,d=1;- y7 t5 P% m: m9 f' m- R
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){+ e- W5 N7 j/ _, C1 `

    2 w; u$ G6 O/ G8 Aif(a==-1&&b==-1&&c==-1&&m==-1) break;
    ( Q2 X9 G# H. w- e7 p# t/ t: _8 q% p$ x
    n=0;
    " {9 N  @( }$ m4 @" A0 u1 T" X& r, [
    / A" Y1 G, Q4 ]i=(5544*a+14421*b+1288*c-m+21252)%21252;
    1 m! a/ @+ q6 ]% E. c
    & d0 a" @+ o' u6 Oif(!i)" L4 P$ o4 w+ a
    ! s( I0 u' C5 q/ L5 X
    i=21252;
    % f6 o6 \4 a0 {! L( c' A0 V7 M7 U7 [, B
    . n4 C, y8 o/ e4 Cprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);, x8 k8 e$ `& T) Q' [6 L

    6 ~- n4 `  m+ N9 E   }
    + u' L" q7 J( y( m# C: B/ K8 k* I& i9 K
    return 0;
    ' b; f  @$ ?- J" c* t" y5 u}
    ! P# |6 C% E) P% q' m% l! S6 x- S/ d
    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 的帖子+ R6 K+ M4 g( ^( [- S% \! c3 x
    7 w4 q3 K, \6 u
    ' A7 R0 O2 K2 q8 Q0 _
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    7 T& `! J( C8 ]# W) S" e3 E- W; r% \8 l9 F) [
    两个程序一对比,一下就体现出数学的强大力量!
    7 Y4 a0 ~- @* 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-6-20 13:41 , Processed in 0.343989 second(s), 87 queries .

    回顶部