QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-10060 S" H/ z, m5 M' y. x

3 l4 Q; t4 W, F$ }8 J  z! Q在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer0 D1 P9 Q+ T0 ?3 L3 F6 p& r

, u+ H% d2 l# ]8 [8 Q2 A现将代码贴出,请帮忙看看:
. F" i' [( I/ ]9 S: O
  1. #include <iostream>
  2. ' \8 o1 t- e% i
  3. using namespace std;
  4. 9 N) d0 ~2 x\\" }2 w1 Q0 n( I
  5. #define PH      03 P' W7 @) U6 ?9 h- {- l! s, Q% G- y. a
  6. #define EM      1) t5 Q8 o5 h' k
  7. #define IN      2
  8. 3 U# g; p\\" K3 v: T0 y
  9. int get_Top(int days, int kind);
  10. ; c+ C, B, M  g\\" G
  11. int triple(int ptop, int etop, int itop, int cur);
  12. ' b/ S; x& f0 A8 J9 g
  13. bool is_Integer(float n);
  14. 6 A  ~  ~6 H& |' Q; _
  15. int main()
  16. ; c, _  L: M\\" `- H( Y% v. o
  17. {
  18. - w\\" @% k+ n0 m+ S/ x2 n
  19. int ptop,  etop,  itop;# y  ?4 `; A, k& R% C
  20. int pdays, edays, idays, curdays;
  21. 2 ]\\" A2 ~6 a: }  F
  22. int count =0;, h2 h' X( n* r0 w( P# z7 j

  23. ' R1 n5 {4 v- U! T* U; Z  i
  24. while(cin >> pdays >> edays >> idays >> curdays); ~4 }. ]3 E( K  S0 C$ W
  25. {
  26. * p5 m6 u! Z\\" I7 x5 |8 }
  27.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  28. 0 f- ]- h. n. Y3 Q, ^
  29.    break;
  30. ( K* |- w  m2 ]1 ?
  31.   count++;
  32. ! r) V* k' F' R& g( B* S
  33.   ptop = get_Top(pdays,PH);
  34. # F0 Y+ c6 I' z! b. m3 L
  35.      etop = get_Top(edays,EM);' @7 \& g# ?, }/ N
  36.      itop = get_Top(idays,IN);
  37. / h% [5 m! T* L+ l
  38.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  39. ! a  C, B- o! G* ]+ ^
  40. }\\" x2 Z( N/ S2 a  J* S8 T

  41. \\" S* M; x\\" t5 i
  42. return 0;
  43. 0 ^* @# r1 g* A5 L* d
  44. }
  45. % m3 \3 Y9 i7 `% c7 c
  46. int get_Top(int days, int kind)\\" E4 k$ v/ ^7 ^2 F( G$ B
  47. {
  48. , n5 ~! S! N4 @
  49. switch(kind)
  50. 6 t6 E* `9 \0 T1 i: Q2 d! c
  51. {6 c! r% j; [4 [  s\\" ?' z
  52. case 0:
  53. $ j( W5 K4 o& w( z8 S! k
  54.   return days%23;
  55. 8 p) [& n9 ~& t- q
  56. case 1:
  57. 2 j- W# w% z* V
  58.   return days%28;
  59. 5 ~1 \# m! f' `) n0 @
  60. case 2:
  61. 8 U8 x3 N, Y' _! f2 V' C
  62.   return days%33;& V! b; y8 `4 n/ c1 r. Y6 \
  63. }! a* D3 X: ^6 U5 p\\" y
  64. return 0;
  65. ( _  d9 ?' M# I
  66. }/ q% r, r9 m% }& E

  67. 7 c4 n0 }& {9 c5 A
  68. int triple(int ptop, int etop, int itop, int cur)) V. Z  g! \/ e* r, L5 t7 F7 l
  69. {
  70. ; a+ R  Y: D5 A
  71. float x, y, z;) U7 z: X, D# e' c5 B
  72. int m1   = etop-ptop-5,2 W& b2 L2 I% a3 ~8 n
  73.   m2   = itop-etop-5;
  74. 4 v% r8 v( B* u* @# H5 y
  75. int temp = 0;\\" x$ ?5 n4 H* v7 T. T6 [  O0 k. _
  76. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)) n$ W( M5 ^' J8 i+ D* B- g/ N
  77. {8 ?/ r. o\\" c) l* _8 e
  78.   temp = m2 + 33*z;- Z7 D! E! R/ J9 D* i
  79.   y = (float)temp/28;+ u- d/ Z) [1 ]3 I
  80.   x = (float)(m1+temp)/23;/ [( c. g8 W4 x9 q
  81.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))' j: h* E3 q. C
  82.    return itop + (z-1)*33 -cur;( w* [+ g4 {# ^) N, C
  83. }
  84. 0 @* b\\" f6 f# ~6 E& W# M
  85. return 0;( K- U. W& f# W) f( |) Y# I  d\\" p. E
  86. }
  87. / V8 y5 g\\" c, S0 t& m
  88. # O0 C# B; a' e( M\\" }: _3 x
  89. bool is_Integer(float n)# w. Q, l. ]% C$ ^% p1 S3 a% H\\" z\\" i
  90. {
  91. 6 j7 m. R# K* C7 z  d
  92. if( (int)n - n ==0)
  93. - W8 r/ m0 }2 r, p' A
  94.   return true;
  95. 3 F7 l) X; U- M3 w% a! l5 Z
  96. else  m. W# J' y, h6 j: @
  97.   return false;& H2 ~- ~0 r( ]3 h- N7 N
  98. }
  99. 2 E* D( C- C% q6 F; f; r% ]0 @$ p. `
  100. 3 z; y* E% l# X
5 X7 O, ]5 S7 _, j' }
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 编辑
    / h! e$ C+ [) `$ t8 `* ]3 u/ K2 o% j0 U) ~8 d( T9 X. k1 G
    用float可能会有精度问题用中国剩余定理求解6 f! q) C7 j9 [. y3 k
    参考程序:  C, I& c: y. r. D

    8 R- N, o) o: N#include<stdio.h>
    $ H) F5 X) s; x) H$ Tint main(){
    ; W  g5 M* Y8 e6 K. y' u5 k   int a,b,c,m,n,i,d=1;
    1 x( t( v& U: Q  N5 E" l* C$ U2 |' J" r5 @   while(scanf("%d%d%d%d",&a,&b,&c,&m)){
    2 E: Y; v0 }5 \5 g" Q9 c& N' x% Z% |- \' u$ g/ A: Z
    if(a==-1&&b==-1&&c==-1&&m==-1) break;
    + G" d1 D3 O9 Q2 K; K1 p  B8 `1 ]5 V0 z. j& `+ \
    n=0;7 J6 Z. t0 c8 O  x5 ?. W) y- ^) x

    ; G" }& Q5 V$ f! }i=(5544*a+14421*b+1288*c-m+21252)%21252;# _- ^# j6 I  C( q" [! l4 i! i

    $ P+ @% T" Z; Jif(!i)1 ^; E) e# U3 @
    # l" t& K& \* U" w! N# n
    i=21252;& R! ]$ h5 w: }5 ~  r% ~0 j* l4 c

    # e/ X+ G& ?3 W1 xprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    ! r$ m% ~( b* P  ~
    + Q6 [) z) g5 |/ Y) `" c( e. h   }
    # J. k9 }  l3 y7 q3 }) D4 c2 b. z
    " j8 H1 u5 v' v1 {& i8 ureturn 0;' G( F3 Y0 @  E: V# r' f  m
    }( y5 M' t( Z# @; L9 M# g4 Y5 X& L

    9 m9 B/ Z1 O/ |/ {; z
    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 的帖子
    6 {" v2 f' z" v  Y! C% X. r' A9 v- d' s, k( h  l7 T

    / W0 T% {7 K; w* r7 R- V+ Q, T6 ^    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    . {+ H  `, T* \( x! b7 {6 e9 {" O
    两个程序一对比,一下就体现出数学的强大力量! # x  N$ d7 v  x7 h* Y& f/ 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-8-8 14:00 , Processed in 0.539197 second(s), 87 queries .

    回顶部