QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |正序浏览
|招呼Ta 关注Ta
POJ-1006% X8 O* ]) Q5 Z7 j: o& y

" K& w5 Q" V2 D* D  m& C, H. ^( g在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
3 q2 Z9 s" e. q4 K6 X/ g
( m( Q* b9 q/ n现将代码贴出,请帮忙看看:% D2 G* M- G: i8 X3 \
  1. #include <iostream>4 X% u5 G9 Q# n5 p
  2. using namespace std;
  3. ) e  H' l  `- X8 D! [
  4. #define PH      00 c7 |$ \+ K* W\\" k
  5. #define EM      1
  6. ) t4 V) ?+ e/ |6 A
  7. #define IN      2
  8. $ M0 ]: H8 y! c6 T5 I
  9. int get_Top(int days, int kind);7 V. c7 x) I. t' _: h
  10. int triple(int ptop, int etop, int itop, int cur);
  11. ' M4 }- f5 D; A$ e1 m
  12. bool is_Integer(float n);# K: q2 S1 j* ^' X
  13. int main()$ Q; \+ {# u- J( d% b  D* p& B
  14. {
  15. 8 P. Z8 U9 V0 |
  16. int ptop,  etop,  itop;
  17. 1 U/ X, N5 O\\" @/ i\\" J4 K, L
  18. int pdays, edays, idays, curdays;
  19. , l6 L$ s4 P6 ^\\" q+ c+ {! ^
  20. int count =0;
  21. - v& {7 P7 ]0 |

  22. + {) x/ L: h. ~
  23. while(cin >> pdays >> edays >> idays >> curdays)
  24. 4 M: J4 ?9 n\\" v) ^( [
  25. {4 ^2 L\\" K6 R$ ~4 D8 _
  26.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
  27. % d- V$ u7 R8 Q) m( J\\" X# ?) l
  28.    break;
  29. ( B- x+ W5 O7 e' z2 ^$ c* a. J  ?( I$ p
  30.   count++;
  31. % n$ J; L; r+ N- k! ?4 [
  32.   ptop = get_Top(pdays,PH);5 u- @: c5 S- D& _
  33.      etop = get_Top(edays,EM);
  34. / L; j3 q  G# q1 r2 O8 u
  35.      itop = get_Top(idays,IN);' w- T* E3 c: {1 G# U) p
  36.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  37. / t6 I& l' |1 t4 S
  38. }- \$ C( ]! M( k8 h7 l# Y1 [
  39. 9 t& D0 n# q4 {3 d$ \2 q
  40. return 0;. x# o6 n. z' m  d2 g, ]4 U
  41. }$ v- Y& e- G- Y, Z& ~
  42. int get_Top(int days, int kind)
  43. ' u- `' W) \8 m. T+ i# W7 f2 Q' X
  44. {
  45. 5 H& u+ L0 O) F: U$ Y
  46. switch(kind); g6 p* h8 f) z& c  b
  47. {
  48. ; n! Z; b  A% Q, j& |5 [
  49. case 0:
  50. , Y) L# w* |5 W8 B# v3 p) B* u* ^1 [
  51.   return days%23;
  52. ! p6 j' {# ]\\" B4 E
  53. case 1:
  54. 0 I; a$ X# h' l* M
  55.   return days%28;& ]2 F, \7 {) X' x
  56. case 2:
  57.   Y$ J7 Z( f  ?\\" f& A
  58.   return days%33;
  59. - x& V1 k: l4 Y\\" D# `# c
  60. }
  61. 4 e! Q: D# U( J: a
  62. return 0;# |. D1 X) D* ?* i, |* N7 q\\" Y
  63. }
  64. * b! _$ C. \& k0 N. \
  65. ) [# O1 M: b- i/ I! w5 [- z
  66. int triple(int ptop, int etop, int itop, int cur)8 k1 D) q' D$ L8 p: Y2 H8 L; w
  67. {
  68. 8 z1 o3 ]$ ^% K\\" O9 {/ s0 S6 }
  69. float x, y, z;% }+ v) q# Z5 u; [1 ~- V
  70. int m1   = etop-ptop-5,
  71. ' U4 Q/ c% W& x0 v6 z! [
  72.   m2   = itop-etop-5;. S* U. X6 Q: [# Q7 g4 e( E2 F
  73. int temp = 0;+ {6 ~: r2 X/ \% R- k: H* H* m
  74. for(z=2;  (itop+(z-1)*33) <= 21252;  z++); @, }$ _& L* s+ ]* n) d/ L! A- o
  75. {
  76. / H, a- L2 I+ S, q
  77.   temp = m2 + 33*z;6 n: I% H4 H9 g\\" X: G
  78.   y = (float)temp/28;  e: m/ V' n- E5 j  N
  79.   x = (float)(m1+temp)/23;; c3 C/ p\\" i1 J
  80.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))  b5 g$ ~& S3 h# R
  81.    return itop + (z-1)*33 -cur;4 a/ A% _4 j% D+ Q8 M* `
  82. }' ]; h0 m. M6 h+ ^! E5 E
  83. return 0;
  84. + F0 Y\\" R8 c5 `+ {
  85. }
  86. * A: k$ m4 m! g* r( O$ H! W. i

  87. ) P- E9 S/ k; `; W0 @/ o+ C3 T
  88. bool is_Integer(float n)
  89. 5 f5 ?9 \( A/ `, c
  90. {
  91. 2 h/ U: E\\" R0 ~  f2 Q6 u7 C
  92. if( (int)n - n ==0)
  93. 7 X6 A5 S. e' L
  94.   return true;
  95. ' L3 P. O7 R4 R7 G4 I
  96. else
  97. ( [8 N: e  t( e# }
  98.   return false;) p, F1 d, C& D. g& U\\" q7 m& \
  99. }
  100. , B/ A\\" S) U' ^8 p  r% Z$ K9 S; O

  101. \\" _) w8 l# ^7 @, Y

8 i! o) I( n! u8 F
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

9

主题

3

听众

142

积分

升级  21%

该用户从未签到

群组计算机考研

回复

使用道具 举报

39133120 实名认证       

10

主题

4

听众

1045

积分

  • TA的每日心情
    开心
    2014-9-6 09:56
  • 签到天数: 209 天

    [LV.7]常住居民III

    自我介绍
    希望和大家交流学习!

    群组小草的客厅

    群组数学专业考研加油站

    群组数学建摸协会

    群组数学建模培训课堂2

    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 ultra1989 的帖子8 t+ @& y' L$ c* |

    & O. I7 M$ W( `7 C1 ?  u- [
    ; w, j3 |" s6 e+ I4 c4 e    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    " {# J0 k3 r3 G# f# Q3 Y4 O8 ^8 G- L3 S
    两个程序一对比,一下就体现出数学的强大力量! # z7 x- n9 v5 `' X, R; U2 a5 L$ E
    回复

    使用道具 举报

    39

    主题

    4

    听众

    2645

    积分

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

    升级  21.5%

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

    [LV.7]常住居民III

    发帖功臣

    群组小草的客厅

    群组数学建模

    群组Matlab讨论组

    群组数学建模培训课堂1

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

    回复

    使用道具 举报

    qbist 实名认证       

    2

    主题

    3

    听众

    304

    积分

    升级  1.33%

    该用户从未签到

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

    新人进步奖

    回复

    使用道具 举报

    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 编辑
    & a0 i. x: h0 |! w* l9 `/ t: O6 Y
    . X# x7 p8 U( q2 B6 U9 S# g用float可能会有精度问题用中国剩余定理求解
    + J2 e, ]- {- ^- G, {+ V参考程序:
    ! k- S3 m5 M& g4 s6 P  |& A' x; M8 M$ m
    #include<stdio.h>& u. j( S6 I3 l% h  p( O
    int main(){
    + F' r, `  f+ X8 D   int a,b,c,m,n,i,d=1;
    ! N% h9 p2 U$ q& K9 k   while(scanf("%d%d%d%d",&a,&b,&c,&m)){; }% s, n7 x+ ?# A& u

    , l, o7 L+ M5 u4 x8 e0 A7 e" X! Xif(a==-1&&b==-1&&c==-1&&m==-1) break;
      K1 ^* ~$ D/ Z1 V  i+ Q& g
    ( N1 ?! q7 o7 @& D3 L1 H/ L7 nn=0;
    # c+ ]- \9 n" D, U/ o* Q
    2 @1 L# {/ \# G" J9 i4 C. l5 ai=(5544*a+14421*b+1288*c-m+21252)%21252;
    2 b% i. l1 M$ B8 p$ ~1 E! m4 U6 E2 f5 a, H/ `: `5 ~
    if(!i)" F( C6 o9 m) x  E8 O$ ^0 S
    . n. p( c' E4 Q* m$ h* ]) Y3 k
    i=21252;
    * J% ?; y4 X3 ]6 u: t2 r; S7 B
    2 v7 P; W" c5 T% a' E7 u( }( O2 Sprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);9 L2 F0 \' ^! n1 E( x

    8 W+ _6 T+ B3 U8 r' v   }
    ! i( G! x7 a! |5 |% s
    " d9 a* W8 `$ B5 D8 R# |return 0;
    2 N5 X9 A3 t) U( Z}
    , w7 A$ a; H* _) Z/ K( z( K. w( Y
    2 V0 ~8 j0 j% t4 ^
    Once a ranger, forever a ranger!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-20 09:16 , Processed in 0.538143 second(s), 88 queries .

    回顶部