QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
7 I$ |$ c7 u1 _! F  l
0 t+ [8 C! E6 ?. z. g( `( y在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer9 K6 E5 \( z% D3 c% ?
/ e& D2 [( v5 C5 N3 z7 A
现将代码贴出,请帮忙看看:5 v; U# L0 T5 n3 o- [: T
  1. #include <iostream>
  2. 8 F: S\\" O5 d( Q/ \& Z, U6 [6 h
  3. using namespace std;; ^8 Z: r9 E4 ^, G. o
  4. #define PH      0
  5. # z: L0 G% [' u( F) Q
  6. #define EM      13 J1 m  ]+ y' C' V9 c
  7. #define IN      2
  8. , i& _- t  p3 K6 L; @3 z. }
  9. int get_Top(int days, int kind);  ~5 G$ \. D& G; s& s
  10. int triple(int ptop, int etop, int itop, int cur);( G1 V# E- ^, H
  11. bool is_Integer(float n);
  12. ; D8 P8 S# u2 g3 Q8 t( {+ V
  13. int main(), l5 N3 A& @: l% r& }' |
  14. {! s# |9 R0 F\\" N1 z9 W* v
  15. int ptop,  etop,  itop;' `/ h6 x0 E2 e( {( }$ s& |& x
  16. int pdays, edays, idays, curdays;+ b7 N  a% `$ l& c\\" ?1 p
  17. int count =0;
  18. . b5 C! D) S; P/ K- h( o, P
  19. 5 |+ f1 X8 J: E
  20. while(cin >> pdays >> edays >> idays >> curdays)' r' O\\" y1 K+ n, M& R
  21. {
  22. * c' b\\" m* p1 r2 r, v
  23.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  24. ; e; W, }6 W\\" W4 [4 L. a) }
  25.    break;/ n; ]# Y6 g! W- Y4 U
  26.   count++;
  27. 0 v/ H* i( D' s
  28.   ptop = get_Top(pdays,PH);
  29. $ }! j9 j3 p# D\\" ~9 y; G* Z
  30.      etop = get_Top(edays,EM);% w5 |* |/ }6 f# c
  31.      itop = get_Top(idays,IN);1 O: M4 [7 y$ |9 D
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";2 z3 T! K: E7 K( y+ a) u5 S
  33. }) Z, t' H, A* E0 A; G6 b. ^2 s

  34. + d$ \: c5 M7 l& J# D
  35. return 0;; O5 {; Q* B/ S. d% N1 ~; l1 M( T
  36. }* c6 t& y+ F# Z3 x# ~, f
  37. int get_Top(int days, int kind)$ M: ~7 i* D. ?, T
  38. {
  39. ( i) C8 K7 x# T\\" ]. U6 Y# z
  40. switch(kind)1 @8 X5 H6 P& o5 S: z$ s1 Z
  41. {
  42. , @# y! h3 r3 I/ }; Z/ Z$ ]) B
  43. case 0:
  44. ! Q5 B4 O$ c, O' L7 y
  45.   return days%23;
  46. 1 ~7 P$ P\\" s: W- ~( g0 ?  }
  47. case 1:
  48. 5 x- p9 j0 C; i& y5 B9 E
  49.   return days%28;( B8 N\\" |8 M- c& r+ c\\" W5 I4 N
  50. case 2:
  51. $ M( X% M. s\\" ^
  52.   return days%33;
  53. * Y1 E. `0 q# }
  54. }
  55. ( L. d! j7 O7 H+ a, m/ G$ q! k
  56. return 0;3 G* G\\" }( @& e- W! d- z8 G. P6 e
  57. }' g/ o# d2 X8 b+ o6 R
  58. 1 {& ?4 k2 q# p& p# |
  59. int triple(int ptop, int etop, int itop, int cur)! b% @1 F  z+ A- N6 @) k$ U+ x  @6 Q
  60. {
  61. ( B5 w8 l' n( v+ p' `0 D
  62. float x, y, z;1 s8 u- j9 A0 Z3 A
  63. int m1   = etop-ptop-5,, ], N7 A( B; P) D\\" e! F/ }! L  Z
  64.   m2   = itop-etop-5;
  65. 5 X( _7 ?* V. s) P; i3 r
  66. int temp = 0;
  67. : g) a+ U* G2 }3 Y3 W
  68. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)  \, s! R- z5 K. f. m
  69. {) }& N- E: i' Q- x  r
  70.   temp = m2 + 33*z;
  71.   w; j$ ]7 s  V: n
  72.   y = (float)temp/28;/ \& z7 e+ {7 C% E4 e: A/ M\\" M
  73.   x = (float)(m1+temp)/23;2 R0 {7 ?( M  e6 K3 N
  74.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  75. 3 t; |( ^) w$ [; a
  76.    return itop + (z-1)*33 -cur;9 @9 f1 R\\" U) F$ a
  77. }+ d1 W  d\\" g3 o5 Z( R: e! a
  78. return 0;
  79. 6 ^4 K! x3 z4 q$ t' B9 }
  80. }3 e  S8 r2 s  ^7 M2 u3 v8 h

  81. , Z' g9 W4 B( Y9 q9 Q2 Z4 B
  82. bool is_Integer(float n)
  83. 9 E4 C% |\\" M, l: T0 U) i7 O
  84. {
  85. & a\\" J$ l' P8 M8 J9 G8 O4 B8 m& D8 b
  86. if( (int)n - n ==0)
  87. ' v- P; x7 t* j* y' z: V# ^: a
  88.   return true;& g& j* |, C* A4 K
  89. else1 k  p\\" m1 O2 c( f
  90.   return false;3 ?6 T# W: ]\\" E! ]9 \& _
  91. }
  92. , f! F\\" o  X; G. j: y0 V; E; ~

  93. # O' Z: |6 b- G$ t$ ?0 h
$ }. y2 c3 p1 f  S* y9 d9 a
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 编辑 7 |8 F1 Z8 O" U  s' y8 A
    2 Z+ e3 I* Z) N4 X! k' @4 j( t
    用float可能会有精度问题用中国剩余定理求解
    ! M; \' h/ m8 {4 a5 ?参考程序:3 A' T& j/ s: m. n( k+ T

    8 p) L! ^; w7 U" Y# S, {# {#include<stdio.h>
    ( h) B. q/ f) Y6 xint main(){
    9 s0 f. K6 n9 U6 P   int a,b,c,m,n,i,d=1;; m' C8 g/ y  @- L! c
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){- p4 l# [. ^+ l5 m& e  k* v, C
    ; {( V! v3 q' C: D
    if(a==-1&&b==-1&&c==-1&&m==-1) break;! ?- I; l" C! y0 c+ H$ ]
    6 Q" ~$ E, ~* @8 |
    n=0;; c& F, E. R5 O, `8 ^# Y5 d
    6 X* C6 I) `9 E9 t3 o
    i=(5544*a+14421*b+1288*c-m+21252)%21252;* ^# R, W. y: I2 l* K

    3 I; g+ A# X; d# `$ n9 nif(!i)
    6 x; g1 S; F  ~+ B4 y1 J9 R; L0 W0 |8 Q5 u% K
    i=21252;
    1 v3 o. X3 t# W' ]' B2 O7 C: L! A/ l
    ( ^! J9 a. b$ [: Iprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
      K# w2 d3 ?; _7 e# Y
    : a; `, M' L* I+ o4 H! D9 C   }
    : n  R% T9 u/ n3 S% {. @( H* B1 x2 f
    return 0;2 `8 T+ g7 @/ t8 ]1 d% N2 I
    }
    : s  g  r; J2 j) i3 r. U( X0 Q! V* \  S3 r0 k* h( V6 C7 C
    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 的帖子
    8 H+ J( x7 Q8 L# I9 X2 n+ {
    4 e9 K* e) k3 U" J# {" g; [' _& C" a* N& R  x
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    6 F# l2 u+ }  G; _0 T" S8 d4 a1 p/ R) f: o! H" ?
    两个程序一对比,一下就体现出数学的强大力量! ' [3 l/ j5 Z% f1 ~
    回复

    使用道具 举报

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

    回顶部