QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-10066 E* N& L# A. \9 F. F3 ^7 l

/ O+ l0 e/ p" g$ R2 Q在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer: G/ f4 [! W8 w& G) W
' g! ^, {# U# G* C
现将代码贴出,请帮忙看看:6 o- o  T8 U2 q4 g& E' l& W6 {
  1. #include <iostream>; u. d9 D$ m6 c) c$ t
  2. using namespace std;. r& H2 E: K5 J( s
  3. #define PH      0
  4. 2 \\\" h+ u! V7 W* [
  5. #define EM      1& H( L7 C4 C# r+ Y* v
  6. #define IN      2
  7. 0 [6 G$ h/ w  w1 p& o8 t\\" q0 ?
  8. int get_Top(int days, int kind);4 v+ S4 R. s& b5 H, v# i, ~: v. M
  9. int triple(int ptop, int etop, int itop, int cur);0 N: m) h* u5 h
  10. bool is_Integer(float n);2 C! O7 q+ l- P8 H7 v  b% `9 k
  11. int main(); Z1 ]5 U$ k/ n- f, Y% X& Q
  12. {9 z0 {+ G# L: Q
  13. int ptop,  etop,  itop;
  14. ' `- E( `/ `8 I4 z
  15. int pdays, edays, idays, curdays;
  16. 7 D0 O( |/ }% t& Q
  17. int count =0;$ i2 R  l) q4 Z  D
  18. $ U3 z+ q\\" g1 n
  19. while(cin >> pdays >> edays >> idays >> curdays)! @+ y0 _  h2 Z- q
  20. {) e0 G' r6 R  Y: K) O
  21.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1), R- n9 o( p\\" E# n& n
  22.    break;
  23. 8 h0 M6 @- u+ A( c4 ~8 L8 F
  24.   count++;! g4 W4 d; o9 [) W  q+ h7 l5 \
  25.   ptop = get_Top(pdays,PH);# \' p. r- j+ S/ P# w8 {\\" ~: P
  26.      etop = get_Top(edays,EM);6 j1 P, r- l+ s# _! P, m$ J, W7 T
  27.      itop = get_Top(idays,IN);# ?; Q2 t% p& o# ^2 h8 U6 V
  28.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  29. ( ?! i( l' ^# j7 B) j' O
  30. }
  31. 5 Y  k' F\\" K  s
  32. & i& g# S2 `+ K) u0 ^
  33. return 0;
  34. $ ~  ]\\" p3 T; X& T
  35. }% S( E! I  T& V; r0 Q
  36. int get_Top(int days, int kind)
  37. : g, @, y( P% {. ?6 j! o. @& M\\" B
  38. {3 o2 t7 f2 z: E2 F% q/ T' W! t0 o4 ~* r
  39. switch(kind)9 O; V4 P4 i+ e- E, j0 K1 T
  40. {  i. A* H3 r8 i3 G\\" L7 H% g' P
  41. case 0:+ h( r0 ^) j# D0 N3 J& @
  42.   return days%23;
  43. / r& _) h7 |& H, p; p; Y+ X
  44. case 1:
  45. ! u+ @  D/ L% `; r
  46.   return days%28;4 d/ D' V\\" k5 v$ N) |
  47. case 2:
  48. 9 c/ z- V* ?4 ~4 M6 r; X\\" H# D2 g
  49.   return days%33;
  50. ' o( Q3 m2 D; b& _1 i
  51. }  p- c6 {1 {; y! P
  52. return 0;
  53. : v1 ]4 e0 A$ i: y- a  p* s
  54. }9 H6 X) \7 f\\" S) o9 [
  55. 4 k7 z/ N; }$ l6 j  r6 T
  56. int triple(int ptop, int etop, int itop, int cur)/ A( A( t2 K/ `( o$ @& n! c! T( G
  57. {1 a9 M9 Q( d  e9 i2 h3 O# R
  58. float x, y, z;
  59. & N( i  g, R5 i7 C
  60. int m1   = etop-ptop-5,
  61.   r  r3 y$ y1 P+ W1 [; Z
  62.   m2   = itop-etop-5;9 ~  _0 U1 ^0 U1 f
  63. int temp = 0;
  64. 4 c% E4 N2 ~/ U* Z' j7 D
  65. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)  w2 J\\" H4 l+ h; X! P8 z) N
  66. {
  67. & f! F4 R' X/ u
  68.   temp = m2 + 33*z;
  69. 2 O; @! n/ M* l/ f, Q
  70.   y = (float)temp/28;) d# k' N+ {. K; |% s# E# B% b
  71.   x = (float)(m1+temp)/23;
  72. \\" ^8 V. Q. z  I4 z( [4 u
  73.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  74. \\" ?, ]6 ^( }( ~
  75.    return itop + (z-1)*33 -cur;& g! f4 |6 N: v
  76. }) @7 s9 u. Y: C. O( r3 x( p0 o. U
  77. return 0;: j' o% R9 _- W# z: ]: i- o! t
  78. }
  79. ) M# G0 j, Q; O5 O0 R5 l8 Q- c% T

  80. - ]2 r9 v7 E+ s, t9 W
  81. bool is_Integer(float n)
  82. # [6 c- h6 a* R3 I
  83. {& n6 b\\" k. P5 J' @% t; M! @
  84. if( (int)n - n ==0)* q9 n% d* n+ `\\" y/ q
  85.   return true;, J8 T- @/ e. a6 b  u  ~
  86. else
  87. 5 ]$ e\\" x& o/ t* [  B! N8 }, t+ }
  88.   return false;
  89. 0 ]4 ^+ }5 }8 R; }- N
  90. }) Q2 c# d% K4 H2 D

  91. 9 l; j' j; d* v/ h

/ {. j3 E$ n0 b+ u+ b( W- D: i
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 编辑
    ( W" x! Q; T+ T# u" l, u" w* d3 e2 Y
    用float可能会有精度问题用中国剩余定理求解
    $ i8 Y& c' [' X1 P& S. h参考程序:) j$ U3 i( G" t2 y% j# a; u* V
    + N$ {. E8 {/ _
    #include<stdio.h>6 n8 f/ M  l( p* v, H% G( I# I3 i
    int main(){
    5 \1 t$ h3 @% \" p' {% V, g   int a,b,c,m,n,i,d=1;- a: `2 f+ z/ \' V1 K. Q# F& [- ?
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    1 E5 @" p1 W+ B' N5 t8 S2 Q# ]0 J4 k% l, g' n8 u0 `7 F
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    + M# x8 O5 A( D3 t& J  e8 D+ {
    ' C6 x9 K1 ^2 c" un=0;
    " M. B6 d) P6 _$ Y" B+ W: P4 j4 R# M( h; r
    i=(5544*a+14421*b+1288*c-m+21252)%21252;
    * ?% B3 I, y0 z/ l/ t* t
    & n; n/ x+ f4 U7 A' x' tif(!i)/ X4 f! P! G; U0 K" T: R, r8 e; x" t
    ) v% |, Z0 `& X3 O
    i=21252;
    $ c" b' w  Z; @* K
    , [+ m: k2 M, q# ^- d4 Hprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    $ _' x8 r, n' d. ~2 s& Z: J
    3 Z# s' F! _. w2 K3 V9 N   }
    ; ?  Q" o: ^6 ?) K$ G" H7 f- ]3 U! Z. w* v  F( W4 o
    return 0;
    , c4 z9 @3 P: s. r}8 m& K4 y) e+ n/ b5 t4 Z- |

    + V9 p# g" W) Z! e0 y
    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 的帖子) Z. C' q; K2 i* g/ ]

    & h. I5 i5 r* i& x6 L. {$ R9 i4 N. \+ `
        确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看6 Q% f7 g2 ^( _% c; P" o
      Q& w' \2 e& C! P" m- K2 h3 N
    两个程序一对比,一下就体现出数学的强大力量! / f% i3 ~0 O. u4 h7 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, 2025-7-6 21:38 , Processed in 0.621924 second(s), 86 queries .

    回顶部