QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006! W* {1 a0 f, Q6 G

* ^# i/ Z( O! p9 [. J在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
1 @  J6 ]3 u* c5 n& n+ ~* M! f! c- S0 B5 ]. _) U4 m
现将代码贴出,请帮忙看看:( y4 U  U3 }& C+ h! L
  1. #include <iostream>0 A9 x+ d9 `$ @9 Q
  2. using namespace std;7 n/ y2 k6 y- F% ^! |7 W- ^
  3. #define PH      0  U8 V4 @- ~$ W# P- ]# o' _
  4. #define EM      1# ^\\" C0 @$ s- r6 o0 l- U' U
  5. #define IN      2
  6. ! Q\\" L$ ?7 Y5 n9 j+ v
  7. int get_Top(int days, int kind);. R5 q% n. n# z7 |) {5 U\\" t
  8. int triple(int ptop, int etop, int itop, int cur);
  9. 7 d1 [2 V/ `* D: F0 a$ ]1 O5 T
  10. bool is_Integer(float n);# y* Q, N% P6 M2 _
  11. int main(). x, M& N$ q+ P) W+ j# U$ b
  12. {
  13. . m7 o' w% _( E( R
  14. int ptop,  etop,  itop;, y- f* k+ Y$ X7 ^/ ^
  15. int pdays, edays, idays, curdays;
  16. : r- g\\" ^4 b# x7 S( g
  17. int count =0;
  18. 1 i: o  g1 N  n% E4 Y
  19. $ Z( K9 h9 {- W( X9 P5 Z
  20. while(cin >> pdays >> edays >> idays >> curdays). f: \  a  V! W7 o' h' X3 _: k
  21. {4 ?: ]- s\\" C0 x. O
  22.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  23. * K# ]4 @' a- l) K
  24.    break;; ^+ W% S4 W2 o0 U' @( H
  25.   count++;# g8 @% r4 |7 b; S/ ]
  26.   ptop = get_Top(pdays,PH);/ [+ Z% N9 d. Q4 ?7 E% C0 `
  27.      etop = get_Top(edays,EM);- i' c1 _- W4 C6 U! [( h: [$ `8 N/ f5 W
  28.      itop = get_Top(idays,IN);
  29. # F* S+ |' P1 {6 a- N
  30.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  31. / T  G# B9 k3 Q' b
  32. }
  33. - O5 u3 F  v( r4 `+ O% ^. {. D

  34. ! j% d( f3 m- V9 a! t% R
  35. return 0;
  36. % X- a% S5 z' e  N; B7 M
  37. }/ e; H7 h5 s) m8 H5 ^; q  A  y9 X
  38. int get_Top(int days, int kind); F& b/ [\\" h; A\\" |/ {: [1 t$ |
  39. {$ ]/ v, U# r0 F
  40. switch(kind)
  41. % h$ P' J; Y: t- s; I) U
  42. {
  43. % g: M9 K, |6 `5 J
  44. case 0:
  45. , r& M; v& F! y* g; x\\" ~0 j* B; B3 s
  46.   return days%23;
  47. 3 R\\" f& c3 G# g/ c1 c
  48. case 1:
  49. 4 X# g0 W* \8 g0 C4 h6 t5 w\\" m
  50.   return days%28;8 J' A8 g  \5 O% a8 N/ Q\\" b# J
  51. case 2:
  52. / e, `9 f5 m+ _. T* [# [2 `/ D
  53.   return days%33;# R8 ]. d\\" e4 ^1 b6 f8 _' \
  54. }
  55. ! [9 j7 J0 o; U! A3 v% |
  56. return 0;4 U7 p7 O  n- f4 S2 S7 J& o# Z  I3 e
  57. }+ P4 O9 }: Z: k4 O3 \! x. n

  58. 0 f6 j- F  {9 t' Z7 L
  59. int triple(int ptop, int etop, int itop, int cur)$ g! Z1 u) H# O\\" |  A\\" F3 t\\" E
  60. {* t2 u. E0 x: w\\" @
  61. float x, y, z;% w( Y8 G\\" G0 H. I3 ]# o! J
  62. int m1   = etop-ptop-5,
  63. ' V% {: s/ H# w1 ]: r
  64.   m2   = itop-etop-5;4 _+ F\\" V( ~- q0 }\\" a. D. r
  65. int temp = 0;/ M; d5 q5 L4 [# y% M
  66. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)5 u2 B1 ?$ v2 j  ^. [
  67. {
  68. & T$ ~- ?5 ]5 q5 z: g
  69.   temp = m2 + 33*z;. s) L' V% I8 q3 @2 N5 K
  70.   y = (float)temp/28;
  71. . U1 I. a  n2 d& i
  72.   x = (float)(m1+temp)/23;
  73. + W7 U* F$ Q1 O$ q- [: t
  74.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  75. 0 |, n9 S6 e, e: z! P
  76.    return itop + (z-1)*33 -cur;/ ~5 q) B! K  O4 q8 |% u
  77. }3 g. f; _+ M3 h$ k; d0 S
  78. return 0;$ C, c\\" x- r% f4 ^4 M
  79. }  m3 A: f; v, e7 y
  80. 8 u. W' M: C; ]' E: [; P! x
  81. bool is_Integer(float n)' }( Q& o7 E: |+ Q/ g% {, S( M
  82. {
  83. - e! s9 P( c; x\\" t  a
  84. if( (int)n - n ==0)/ G1 |+ f$ x/ s! _5 q2 \0 f% x
  85.   return true;1 Y1 O\\" P* ^! F. e2 {; _2 U
  86. else- v) J* N3 f+ J; t) ~1 [
  87.   return false;
  88. ' f$ y- K% e4 d\\" V) s8 f
  89. }
  90. ( Y2 G0 @$ Z, k

  91. # `' w; h5 \& t  x, h+ T4 \
1 p" k$ b5 K- B8 U9 g' B8 e4 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 编辑 0 W8 r: K# Q- o, p
    8 W$ V4 q2 E( c( g
    用float可能会有精度问题用中国剩余定理求解
    % H2 O6 {# r4 k参考程序:
    ( R9 v8 f/ j( {' X/ y* }3 L$ a) Y9 _# L7 m7 k) J" x5 K
    #include<stdio.h>) G  E, Q+ z2 p: i5 y( W+ J
    int main(){ % D/ ], z/ H' z; _. ~
       int a,b,c,m,n,i,d=1;
    & B1 Z, ?) _9 e9 m" t   while(scanf("%d%d%d%d",&a,&b,&c,&m)){+ ^5 ]; Y, E: K( U0 a

    2 ?1 r9 F( U& v; r* b( Bif(a==-1&&b==-1&&c==-1&&m==-1) break;# @" n2 ^+ r5 r) T- o  b, r

    & |, W% t2 |3 {, h7 j8 f& p4 Pn=0;
    # M- e" ^6 N$ ~2 H1 A* h* _1 x8 j/ f& ?1 m& i" e5 O" S8 x1 {
    i=(5544*a+14421*b+1288*c-m+21252)%21252;  X. J, a+ ~2 `1 @) o

    # Q& S. ]) O; c# Y/ W7 b+ sif(!i)
    1 d, S1 X2 k- ~  t2 u
    . G$ v& H. H* l/ v8 I4 L5 Pi=21252;* P/ F7 j: r9 R1 E! S- L4 H
    ( R8 j( h4 Z0 F6 i5 ~& }) J% e* n
    printf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    . U# y+ W- Y7 d+ l- V# h3 `7 p# B% q' A* A
       }
    $ F. C8 M4 q9 c! b/ v
    / d# R# `  _6 a) G4 qreturn 0;
    $ b$ |7 P; H- V: L1 D9 Q8 N1 {+ R}. A; p# o% [8 Z

    ) [# d7 k5 f4 P# Z) ^# o
    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 的帖子
    , m6 R  y; l7 X1 A1 q
    & r; l4 h3 e& G# Y& X; ?1 C! q" i) v: r- a0 F3 ~, ?) t1 Z8 t
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看4 S6 T& ^# X% i! H
    % i6 _, l0 s$ C, G8 I
    两个程序一对比,一下就体现出数学的强大力量! ! L+ `$ q0 H& h! U/ L$ u2 W! x
    回复

    使用道具 举报

    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 20:10 , Processed in 0.326642 second(s), 87 queries .

    回顶部