QQ登录

只需要一步,快速开始

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

POJ-1006问题

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

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 23:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
POJ-1006
7 ~" r) g' t% s9 T: B
/ ^, L; t8 E6 S' T2 g' k% b在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer
+ ?& r3 x% x+ [3 D1 Y; B0 S- T5 |* m  y! W' H" h; Y6 l
现将代码贴出,请帮忙看看:
) g2 F7 N, ?! y8 d) F9 u5 G
  1. #include <iostream>
  2. , d+ f) {0 n* `8 P- {  ~
  3. using namespace std;( p2 @/ c) l5 q4 j4 B
  4. #define PH      0
  5. - B% o  V. C( M. a' c+ O
  6. #define EM      1
  7. . t+ i\\" ^; h! Y6 Y
  8. #define IN      2
  9. 2 X0 _* b9 W: F$ t
  10. int get_Top(int days, int kind);
  11. . o0 U% l8 h* W8 t; O8 N+ V2 E
  12. int triple(int ptop, int etop, int itop, int cur);
  13. ! v0 M+ }/ E* W) U5 @( B
  14. bool is_Integer(float n);
  15. , [; b0 ~5 \- U
  16. int main()) |0 M6 e6 o9 b5 p: w
  17. {
  18. ( x$ x5 Z  \$ b% f7 ~
  19. int ptop,  etop,  itop;
  20. - c$ ~( o3 A0 Z  L8 M
  21. int pdays, edays, idays, curdays;
  22. , V( Z+ N+ j) c0 N3 O
  23. int count =0;\\" ?: J0 J7 c! j4 D1 t/ Q
  24. : U5 e' B. b  R# F& g; |
  25. while(cin >> pdays >> edays >> idays >> curdays)
  26. 3 a. P& a& Z/ E# L5 }
  27. {/ o9 j- i5 {) g
  28.   if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)9 _, i1 P; ^! L) l: y5 b
  29.    break;
  30. # @: D7 H8 @( T8 l2 v5 m
  31.   count++;
  32. & q& ^# @7 n! j3 Z# w$ F: t
  33.   ptop = get_Top(pdays,PH);8 @, h# t- V& F4 U
  34.      etop = get_Top(edays,EM);
  35. 1 K1 Z3 |, [7 \' c: x  i
  36.      itop = get_Top(idays,IN);/ S! n8 @5 \& [' C- F$ J/ F
  37.   cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";
  38. $ o$ m  T) u+ @  b& e
  39. }
  40. * z- ]1 a3 n2 _9 k, v( {  k8 Q) ^
  41. 8 ^; x0 Q$ t: `+ f% a
  42. return 0;7 ^) f2 x2 {- ]' C. S
  43. }
  44. , O  `: j2 h( z0 O
  45. int get_Top(int days, int kind)6 N. r, ~; _& ?. l
  46. {$ S! u5 N: Q2 d\\" _
  47. switch(kind)% [9 G5 b8 o/ y6 f
  48. {
  49. 7 o$ K3 e. z7 P+ l/ V
  50. case 0:
  51. , i; K$ i, C; r4 A
  52.   return days%23;$ H) L5 L; k$ e\\" R: u2 z
  53. case 1:\\" Y& A/ K- t2 F4 Q
  54.   return days%28;8 `/ J\\" ?8 j5 Z
  55. case 2:
  56. 3 g- R, F) g  W+ @
  57.   return days%33;1 q9 r8 K6 u) w
  58. }
  59. 4 r$ z, W) e4 m- }
  60. return 0;
  61. - J% u7 s* a/ A; z' b5 t; R
  62. }
  63. ( M) F) h* s' n* o/ `% V
  64. ; K( I( D\\" D' x+ A0 z
  65. int triple(int ptop, int etop, int itop, int cur); r' |. c& @0 {! t+ X+ D6 C
  66. {
  67. 5 I2 h* k1 Y8 R' T% ]6 d\\" |
  68. float x, y, z;# [# t4 @2 ^9 ^8 [* m& o/ w# v
  69. int m1   = etop-ptop-5,* p+ F5 J4 o  s- N0 L5 m
  70.   m2   = itop-etop-5;: X. C3 b& t! g! B
  71. int temp = 0;
  72. 6 R, Y2 l\\" g3 _+ x4 g4 k+ _+ z
  73. for(z=2;  (itop+(z-1)*33) <= 21252;  z++)
  74. * s$ d; Z6 x0 a- Q1 T
  75. {
  76. 5 f# n  [3 E6 f7 C! y
  77.   temp = m2 + 33*z;' @/ \0 ^4 i1 r1 \! Z+ k+ o
  78.   y = (float)temp/28;
  79. - H2 X; x/ c/ L
  80.   x = (float)(m1+temp)/23;, M8 L2 [- y8 g0 x! d* R/ {
  81.   if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
  82. ; e# [- p8 K* h7 I. F) C
  83.    return itop + (z-1)*33 -cur;( X. O& c) J: p- U& E5 I: \; q
  84. }
  85.   t4 d/ Y7 ?+ z0 a
  86. return 0;& v) {! O7 k0 e# {8 T
  87. }
  88. 4 A3 K# J' a1 \+ K, G6 L

  89. $ X% |( S+ `$ C0 N+ k  E. x
  90. bool is_Integer(float n)  m' ]+ f, z* R! d
  91. {
  92. . Q  p- y; c+ B$ M$ d* G' K% l
  93. if( (int)n - n ==0)
  94. 0 |1 R3 p  E! g$ `
  95.   return true;3 t! Z3 |: P, ]4 M$ @' t, b7 B# k\\" s
  96. else
  97. % M1 [1 [+ s5 h8 T3 F$ |
  98.   return false;5 j* e; x& o3 P; }' ]& k  r  e* `
  99. }5 I' ?6 M/ ]% F/ y0 V# T8 a7 x
  100. + q3 B7 @0 Q6 y7 l4 g+ {1 R  G
% j1 F$ |& E5 I2 h. F  F
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' P: C, u, G' F$ {+ e6 A$ c% @4 Z  U% W& }( A: R4 W7 W& Y! `
    用float可能会有精度问题用中国剩余定理求解+ D- o9 T: S( H$ b5 Q" \5 r
    参考程序:5 J2 L7 T0 T8 ]7 u( t  I/ a0 F

    0 s2 i- M% O4 g% I9 o2 r# e2 n#include<stdio.h>1 L2 ?6 H/ f, K2 _- y9 v
    int main(){ 0 A) g& s% Q& F0 P
       int a,b,c,m,n,i,d=1;! U% h0 C, x' A0 d* P, ?* ]6 R2 }
       while(scanf("%d%d%d%d",&a,&b,&c,&m)){. i$ X4 t9 ^; C, `: o

    ( X& V6 A2 @/ c3 vif(a==-1&&b==-1&&c==-1&&m==-1) break;% U- k/ `: }+ G+ Y
    " R! _' i8 x2 |  W2 V2 U
    n=0;
    ; U" ^  P+ a; G
    . W8 \- F8 f- ~+ o( _* d7 li=(5544*a+14421*b+1288*c-m+21252)%21252;
    2 C' H( g; B) ?8 x$ `7 _+ h7 [  O2 q7 k
    if(!i)
    ; k9 R6 m- @5 R' n, @1 U/ I/ y# X! r7 c8 ^! M
    i=21252;& f6 D# v( x( q

    ; K# d& W3 ^( H: h# K0 W" Mprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i);
    . ^& A: W3 D5 s; j* v3 |3 D3 k  x) c' C8 \% r+ U
       }/ n5 C# B9 [  w6 o. z9 ]! W" b6 I, Y
    : @( A4 o2 B, C" i8 |  k, v
    return 0;, `) ^; h' p/ T2 n: b. {
    }5 [5 }3 x& [1 l/ U& ~6 E: \6 b" ~" g; ]
    / I, P$ A9 ]! Z  d. V" h' Q
    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 的帖子
      K3 H8 m1 {3 U0 `: Q9 y# V& u' ^6 S3 k4 [  G# `5 `) ^

    # ~& _* n; X: i( p0 ^9 Z    确实这道题使用剩余定理解效率太高了! 哈哈! 学习了!  我还没有看过数论方面的书! 以后肯定要看看
    ( k$ ?* g; O- x
    3 c& c# W$ t  d6 c( a3 Q两个程序一对比,一下就体现出数学的强大力量!
    ' `3 @: H7 @/ {
    回复

    使用道具 举报

    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-14 21:57 , Processed in 0.737125 second(s), 86 queries .

    回顶部