QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006- f% O3 m7 Z% i0 f2 k* u8 m
% B1 K' j- N8 w0 S* a. d
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer' X5 H0 |9 e( `6 z2 m+ j

. r7 N" _/ K& ?3 ^现将代码贴出,请帮忙看看:
, d5 a3 t% h$ q1 r
  1. #include <iostream>  h; V7 D$ z: F  M6 }  ~6 H$ @
  2. using namespace std;
  3. - l- A. h  o  Q\\" e9 T8 ^
  4. #define PH      0, Y1 o\\" o8 w: k  u+ W+ `. F& _  T
  5. #define EM      1$ j: T$ E' @0 H! L% u: C
  6. #define IN      2
  7. 0 y: r, I  J0 @: D' ?
  8. int get_Top(int days, int kind);
  9. ( F* Y4 O) c+ O  f- R: ?+ R$ D
  10. int triple(int ptop, int etop, int itop, int cur);6 |9 @5 k$ s4 M& {$ j; c
  11. bool is_Integer(float n);) J; j4 F) w9 I: C+ C) N8 g& ?
  12. int main()/ p' m1 a0 e( u
  13. {
  14. ' `( ]8 l& N0 v( Z  y5 w3 R1 [1 T
  15. int ptop,  etop,  itop;( Y/ p5 G/ E+ f  L\\" f; A
  16. int pdays, edays, idays, curdays;/ [- N6 ]\\" b8 H- l* Z: X# v; ~
  17. int count =0;; q6 ^5 s\\" B: d
  18. 1 ^8 n: J) h0 n, v% G5 F3 X4 {
  19. while(cin >> pdays >> edays >> idays >> curdays)6 A; t8 H0 b  d# z: `3 F- J  u
  20. {
  21. 5 s, P& m2 v\\" Q1 c. n
  22.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1), [3 _* r0 M% |5 z( i
  23.    break;
  24. 8 a7 ~\\" r! g8 B
  25.   count++;) R* ]# R* \. Y; S0 V* c: Z) @9 w- m  k7 \
  26.   ptop = get_Top(pdays,PH);
  27. . w/ x# Y; {( L5 _, T
  28.      etop = get_Top(edays,EM);
  29. , i0 d; I* X0 g. a
  30.      itop = get_Top(idays,IN);
  31. ( U' b) b* X5 R! {) M. E' _+ l9 u, ?
  32.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";% P* J0 U% G; i3 V: q' o
  33. }! K4 w& C& A% h9 f9 y

  34. ! v  D; _4 f; z2 d) r$ V# h/ _# e
  35. return 0;
  36. 1 b5 }+ o$ s\\" {
  37. }
  38. 8 j1 j5 m8 V\\" N1 W
  39. int get_Top(int days, int kind)
  40. 5 ~7 O+ X; X: a# ]; ~6 u2 T
  41. {. A  k; _. f5 w5 n
  42. switch(kind)
  43. 6 u3 C8 Z7 L6 Y5 v5 x, P
  44. {% A% G3 g, b1 r! w, j6 \
  45. case 0:
  46. ! Z- q1 T0 h0 A7 {% j
  47.   return days%23;! R# O  f! t+ e! N) a7 l* [0 r
  48. case 1:5 p9 R: d: O8 `0 d- f' O* E
  49.   return days%28;
  50. 5 [3 s4 {8 C' \3 V: o( g
  51. case 2:
  52. 2 k/ s, k$ f1 ?2 X/ ?7 h: E
  53.   return days%33;
  54. ; j, g4 F. v) [( E
  55. }
  56. & O0 _8 J! \7 Y* W( a
  57. return 0;
  58. * H6 q1 f4 b! u) m% ~
  59. }) S/ r2 V\\" T3 h/ C5 L  R

  60. & e! }7 t* ?3 \5 O( F8 H
  61. int triple(int ptop, int etop, int itop, int cur)
  62. # }& W6 S- |7 r, P1 ]/ ]: i2 h
  63. {
  64. ! M% N& h$ }/ M5 W( s
  65. float x, y, z;( _5 t5 T0 k5 ?& x
  66. int m1   = etop-ptop-5,5 @0 I0 I- }( U! `
  67.   m2   = itop-etop-5;# z( v( S6 u- R# g! ~% ^) g
  68. int temp = 0;, \5 C) n& s\\" |9 C
  69. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)# I( J3 V; B4 X7 X- c
  70. {
  71. / Y& Q  z! n/ z- Q# P& R- f) N
  72.   temp = m2 + 33*z;$ e7 a! l5 R) Q$ _6 R
  73.   y = (float)temp/28;& F  r5 N! t\\" M4 M5 v# p* c: Y1 P
  74.   x = (float)(m1+temp)/23;0 b7 r6 j9 o\\" d
  75.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  76. 3 j9 B/ [\\" s' t' O) j* H$ u
  77.    return itop + (z-1)*33 -cur;
  78. & K5 t+ ^9 Z7 y2 Z1 d. _  m
  79. }& g\\" Z. ]( r2 Y\\" V
  80. return 0;
  81. ! k: W7 F4 W+ d& b9 z
  82. }
  83. - X( s, n1 }\\" c& O

  84. ) V6 v\\" v5 M+ F
  85. bool is_Integer(float n)
  86. ) b1 t( s* j6 {' `& H/ F: r
  87. {
  88. . X\\" v  L9 h; r! M% e
  89. if( (int)n - n ==0)0 V; L) c8 V9 A9 K2 j4 T
  90.   return true;
  91. # e+ M9 O! K, A$ f2 Q* @' ?3 y/ Y
  92. else\\" W# t% E+ G% N8 h  E
  93.   return false;6 o0 K0 F* C! h$ h6 B' ^: y; H
  94. }  s* e& |5 V: [\\" W' y+ |% Z; X

  95. - N7 |- ^5 k3 w; k' d3 x# {* z5 ~
4 Z; h, e0 a/ Z9 {7 b
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 I9 }  A* l; z* L' G. x- z
      u- L( U6 f' f# a" H. T! \& t$ j
    用float可能会有精度问题用中国剩余定理求解3 i, p) v& D& D. k
    参考程序:
    , r) x/ a6 \6 n- O+ ?* @' k0 v" Y6 G9 W, _3 W& t+ J
    #include<stdio.h>
    5 }- S% o' z* zint main(){ & M7 C" D$ v8 j
       int a,b,c,m,n,i,d=1;+ Q. Y1 D! b: X
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){3 e/ O2 }  C: f2 p

    ( p# T9 ~0 ^) C' L5 e" {if(a==-1&&b==-1&&c==-1&&m==-1) break;. \8 h( n- t* m9 k2 i. m* Q# l& q7 h4 u
    % X$ R9 J1 `/ O9 I/ T! F
    n=0;
    / ]" v2 k; I3 c$ b1 s% E* T+ h6 E* Z, R; j9 B
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    % D( a* G7 ^$ e( b# J5 w0 l- |/ }- h% b  @; `1 p
    if(!i)
    $ _5 i6 ~7 P3 O. |& l! E. `4 \/ z7 K; v/ W: r& \$ }
    i=21252;
      p; ?- C- Q, H( y+ Z2 t
    3 _$ f# w( |8 B  bprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);' |4 F& N4 Z4 u$ ^0 b

    ( u# J4 H% P& |/ L: {/ S! r# w   }9 P( o4 m" L+ [8 J! g5 B& [1 _3 W
    ) [' ~  O0 N% o2 N
    return 0;
    : C( b9 K; j" [! i/ J# A! g7 y}
    ! Q$ ^5 e7 w- }1 W) p5 i7 ?- J/ q$ x* B# K$ B# I
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    39

    主题

    4

    听众

    2648

    积分

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

    升级  21.6%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子
    ( T7 p+ H% Y2 V) L- ?7 @( E
    + U' y8 J9 p" B' k* K2 i5 u' K3 P' l6 `8 Q* d3 ?
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    ) {4 o3 E. H: A/ f* k/ K6 c2 ~' y
    两个程序一对比,一下就体现出数学的强大力量!
    . C% C3 o4 N6 U+ {9 @: r
    回复

    使用道具 举报

    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-8-8 16:56 , Processed in 0.552762 second(s), 87 queries .

    回顶部