QQ登录

只需要一步,快速开始

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

2006 年百度之星程序设计大赛初赛题目 4

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

1341

主题

738

听众

2万

积分

数学中国总编辑

  • TA的每日心情

    2016-11-18 10:46
  • 签到天数: 206 天

    [LV.7]常住居民III

    超级版主

    社区QQ达人 邮箱绑定达人 元老勋章 发帖功臣 新人进步奖 原创写作奖 最具活力勋章 风雨历程奖

    群组2011年第一期数学建模

    群组第一期sas基础实训课堂

    群组第二届数模基础实训

    群组2012第二期MCM/ICM优秀

    群组MCM优秀论文解析专题

    跳转到指定楼层
    1#
    发表于 2010-5-6 18:51 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    剪刀石头布 : n- M; t) [8 y$ Q/ C& Z

    & ~- V7 I) o2 k$ \( [+ M6 XN 个小孩正在和你玩一种剪刀石头布游戏。 N 个小孩中有一个是裁判,其余小孩分成三组(不排除某些组没有任何成员的可能性),但是你不知道谁是裁判,也不知道小孩们的分组情况。然后,小孩们开始玩剪刀石头布游戏,一共玩 M 次,每次任意选择两个小孩进行一轮,你会被告知结果,即两个小孩的胜负情况,然而你不会得知小孩具体出的是剪刀、石头还是布。已知各组的小孩分别只会出一种手势(因而同一组的两个小孩总会是和局),而裁判则每次都会随便选择出一种手势,因此没有人会知道裁判到底会出什么。请你在 M 次剪刀石头布游戏结束后,猜猜谁是裁判。如果你能猜出谁是裁判,请说明最早在第几次游戏结束后你就能够确定谁是裁判。 8 [+ W: ]  u8 s5 J5 B. r

    1 l' O4 G0 m  A! o4 O0 f1 l" n输入格式:
    - `/ r: u2 O  d: p( P" T" I$ h1 k& |0 ]4 S& s) w
    输入文件包含多组测试数据。每组测试数据第一行为两个整数 N 和 M ( 1 ≤ N ≤ 500 , 0 ≤ M ≤ 2000 ),分别为小孩的个数和剪刀石头布游戏进行的次数。接下来 M 行,每行两个整数且中间以一个符号隔开。两个整数分别为进行游戏的两个小孩各自的编号,为小于 N 的非负整数。符号的可能值为“ = ”、“ > ”和“ < ”,分别表示和局、第一个小孩胜和第二个小孩胜三种情况。 - |. h2 `3 N/ v9 t, c( [

    / b0 `6 w% ~2 \  N! t输出格式: 6 N4 J' U% A0 t2 k+ M: |& G# k

    : J3 r" @9 P  B! {" {1 E每组测试数据输出一行,若能猜出谁是裁判,则输出身为裁判的小孩的编号,并输出在第几次游戏结束后就能够确定谁是裁判。如果无法确定谁是裁判,或者发现剪刀石头布游戏的胜负情况不合理(即无论谁是裁判都会出现矛盾),则输出相应的信息。具体输出格式请参考输出样例。 ! ?8 s( K" y- y0 [3 i

    1 Y- y: p0 N6 @% D" [$ T输入样例


    4 S/ m; K- B  d
    4 R& {6 |1 a4 ]+ F3 3 ( v' [* `: l+ i. L3 a, n6 j. S
    $ L: X3 k7 a8 P
    0<1 7 Z0 Z' g6 q0 Q# z  z. x

    & t5 F: m2 V  E1<2 ' F$ T+ P5 D- W6 D
    4 M" g% Q- ?' p0 N& E: Z
    2<0
    / e. P) t4 v8 @- v: Y% Q  M3 ^
    : a! n7 I8 L. O8 Y. f0 j  s3 5
    2 G7 U8 h- @5 N
    / p1 N& F9 h! M& o1 C0<1 ( {- J5 Q+ _! n9 H& v9 q4 w! d$ m2 q% y

    ; {7 d. F( b3 j9 `# z0>1
    9 r/ X2 |. t% R  u, k: A; G! F/ g) a
    1<2 ' z* z2 v, g. ]0 M2 H7 ~
    & y9 \; Y; W# E: r5 H
    1>2 - l) ]* `8 S& X0 [
    : |- M3 `8 ^/ H7 d
    0<2
    ' z2 s4 Q# g! W% p- r
    3 X- }! o. S7 x+ c4 4 / C3 o# p+ y( {( Z; M' E2 s

    0 {1 j0 @3 Q8 g# o2 u1 h. O$ V3 l0<1 1 \2 x" ^+ F$ w# Q$ Q- w% i
    ' L7 b: G0 q( t% T- @1 m4 }
    0>1 ( P! K" t; ]) n  t
    4 u+ g/ c! V- e2 j8 h  f! N" O
    2<3
    " W1 g" d3 C/ K6 y$ S+ U6 R+ Z) ~# m
    2>3
    & A! Y; F: `: b: S
    9 x# T: g( e. E3 Q1 0 ) m. }- N# h" K; \( k

    5 ]7 z2 x9 `' ~& z; m
    ; `/ s, F8 `8 A) \
    输出样例


    % g0 U5 a/ @' M, j. [! b; w# P! g& h5 Y: P. ^& _& @, M
    Can not determine
    6 q: g" j; C/ M% r! ]1 r2 ^1 l/ u3 N4 G5 e
    Player 1 can be determined to be the judge after 4 lines
    1 E( m1 n6 X6 {+ Q5 ]
    4 Y( V- U" l9 ?) C' |Impossible
    ( k% {( o* S* G. K% C& P
    & X2 H2 V) r) zPlayer 0 can be determined to be the judge after 0 lines   [- X0 P( [8 F/ d% x& \: [

    2 S: N3 o% g# c" I2 P$ m' i9 g

    + Y0 Q( i5 Q/ l: O$ d

    : ^9 v3 c" m$ I. C8 w7 o) N2 ~  O. a5 y/ `$ v: L3 @0 D$ |, ]" Q8 f5 z
    说明: 5 Y7 e2 H' W4 U$ u
    0 Y' K2 N4 u" q0 ~
    共有 5 个测试数据集,每个测试数据集为一个输入文件,包含多组测试数据。每个测试数据集从易到难分别为 5 、 10 、 15 、 30 和 40 分,对每个测试数据集分别执行一次程序,每次必须在运行时限 3 秒内结束程序并输出正确的答案才能得分。
    ; ^! g! x2 s( m  ~; D1 y" h" a7 v3 n- f- A& p  h+ r6 F
    所有数据均从标准输入设备( stdin/cin )读入,并写出到标准输出设备 ( stdout/cout )中。
    # f% Q% |" q; g* A2 h! g
    & n# Y" w6 @0 \4 x; o' h五个测试数据集中输入 N 分别不大于 20 、 50 、 100 、 200 和 500 ,各有 10 组测试数据。 ' P/ N) A: m' Q! r

    ! W! G# e9 R" S! t5 Fexample1:- F- i9 ]# C! a
    ! L2 z3 n) `: c( B1 Q; `1 x$ D
    /*剪刀石头布*/
    , D3 @* v7 D" \* G9 d. o/ n- F) t% A#include <iostream>4 h. m/ N9 y' K8 J7 z( j% Q) s
    #include <vector># U8 G+ h) t, X" ~5 m1 g4 u9 d
    #include <string>5 G6 {2 }2 F" O! b) r9 V
    using namespace std;; s& p, u1 G7 y5 p; f! I4 L
    4 v, D' G0 N& ~7 J
    struct numNod
    7 w& ?  E7 t9 w) _# J) L+ j{
    - y, D0 G% `8 j* V# @. j, f6 q    int value;//小孩的编号6 h% g" W  I9 b
        vector<int> win;//胜出的数字队列 暂定20个 以后编写动态增加数组后再修改
    5 R, W( h% r( E' o( {9 V    vector<int> lose;//输掉的数字队列 暂定20个 以后编写动态增加数组后再修改, h3 e) O+ g* w2 J4 S9 O. u* ~
        numNod *next;
    , |! [8 K2 W- Y6 w5 q};//如果某个数字结构体的胜出队列中和失败队列中出现二次或者两次以上的同数字结果则说明这个数字是裁判
    , @' A3 {. @1 r) U$ _//另外值得注意的是只有裁判才会出现平局的情况+ G- r5 W$ |  \/ J7 s8 r1 W
    # U& p3 i: g3 G' c+ q* q& e* C
    class Run6 h; S, v# L& X7 Z! M' u/ F
    {
    ' r- w0 ]' m) D' t9 k/ D- f5 ~6 v8 Lpublic:
    7 H4 X! w) `5 ]0 T    Run();* @4 ^; T9 X8 d0 X0 [! ^
        int Compare( int num1, int num2, char sign );" d, @# M6 g8 a  h8 Z& F4 I% D
    private:
    / S% ~8 n/ f( x/ n9 {    numNod *p;
    0 {. r( i, Z% }1 t    int CheckUp();//检查函数,检查裁判是否已经得出  S, P! \, s7 P; m( k0 A1 B
        int numOfCheck;//猜拳进行的次数
    ; B  U! n* y; o) R    numNod* SearchNum( int num );//查找p所指向队列是否有num这个数字结构,有的话返回指向num的地址,没有的话返回的地址是NULL$ h1 E  B$ i  O) W
        void ReworkList( numNod *p, char sign, int num2 );//第一种情况,给出指向数字结构体指针,输赢标志(1,2,3),比较对象(数字)
      n$ ]2 J" I* ]. \6 N2 Z    void ReworkList( int num1, char sign, int num2 ); //第二种情况,即结构体数字队列没有这个数字要重新生成( l9 A, O" i/ M8 p8 v( N* u
    };- Q8 C2 j, n& o+ i/ V
    ) g$ P9 v: M) K8 X5 p% g
    Run::Run()+ X) g. F9 e4 Y0 p0 _, J! i
    {, x% Y$ U4 g$ I2 |' r9 R
        this->p = NULL;! ~1 ~; l9 J; u
        this->numOfCheck = 0;
    4 G" l* |2 `; n5 D$ t, X( }}! R9 o, c' u, s. K6 k+ J

    + C5 `4 h; [7 Q) u) d: ~numNod* Run::SearchNum( int num )
    4 ?4 i* @: f' z0 O! P4 S. k{
    : k- ?% M) B3 J* {; V/ M. r    if( !this->p )
    & s: e# {' ?1 z    {* H  K0 V8 a, v8 A7 D' }
            return NULL;
    & }. u! C' _2 J) y3 L' y/ Q% f: R" A    }
    % ~% h) }$ ?8 I1 _/ ]4 m7 h    else
    ' o3 j* q. q  `2 g    {9 E. q( V* v! L4 U6 e6 @
            numNod *pTmp = this->p;  M: I! X0 m- E3 h6 b* U) j3 {
            while( pTmp->value != num && pTmp->next )
    7 N2 h# i+ {5 [' D7 h            pTmp = pTmp->next;3 c; R& i$ D' }; P6 d
            //至此查找完毕开始检测是否已经找到: [" n/ y1 c8 \1 R3 F# @& B7 T! `
            if( pTmp->value == num )3 T4 x& y- O+ l) x
            {0 H  N' O- h3 d, i& ]8 t: F5 p' o3 A
                return pTmp;" u6 q5 p4 s) x4 f' A
            }( Q) z& N" W0 W2 R( t  s) h
            else
      Y; O6 n+ \2 T( H7 _5 C        {
      {6 t0 O, w6 ]- H1 m! ?# V            return NULL;3 r' J8 L0 q; H( _! l) A
            }- C  [2 G; j8 [4 {, N0 }) X6 y
        }
    3 ?3 A. C- x6 f! S! e}
    9 ?" C+ D$ L, G/ y2 c  D. y
    * B: W9 j+ |# F! d- Z5 S) Jvoid Run::ReworkList( numNod *p, char sign, int num2 )3 I, `. F4 D/ f5 G$ S
    {8 @- ~; y0 I/ K+ ~" K" o% z8 B
        if( sign == '>' )* R! k9 b4 ~) P& J5 r5 v  F
        {
    , J8 r9 z8 _2 g7 Z( [. n0 W" ^4 P: A        p->win.push_back( num2 );3 n! v2 r8 F, v% ^8 c! }; l& s( j
        }* |. B7 u5 J  y- e$ O
        else if ( sign == '<' )
    , V# r8 W4 L2 G    {
    7 ~) c) N$ u% v) y1 ~9 i        p->lose.push_back( num2 );
    - O% Y, |+ Z) P0 G# r    }- I* I- h+ J! z' P' x) r: ?: f
        else if( sign == '=' )//平局
    8 m1 @  n6 T$ C    {! G! r# }/ P( J7 L; W+ v
            p->win.push_back( num2 );
    " V1 h3 D# j# C        p->lose.push_back( num2 );
      F5 s  I! q9 ?7 e0 _7 M    }
    5 @( V8 R4 l8 Z2 a; `  [    else//非法比较字符
    . {3 K( U' o# H8 E0 l    {) `5 m, S. z# ?& ?, H
            cout << "Sign Error!" << endl;
    % y! B; \. N' c" i8 r6 k; C        return;
    1 F6 O: r* K  Y, p. j  k& I, Z/ N    }$ O; M+ H3 Q  |0 _( [
    }$ F7 Q$ W2 K6 m3 v& T. U" ^
    5 e3 `. a/ U% ?" `8 H! b
    void Run::ReworkList( int num1, char sign, int num2 )
    3 S. u0 p) y# _0 k" q- E8 m{
    4 U  q5 y- H- a; E" d    numNod *pTmp = this->p;' ~  f# \) t) w! F" J+ K  o- Z0 A

    , N% N" c" k9 \4 v. L0 k    if( this->p == NULL )
    % j2 W" v0 M/ m. e+ h' L% q2 w    {' @' L8 o) z- V' K0 M4 Q1 f$ r8 y
            this->p = new numNod;
    7 |- U' `- R+ s$ F2 z; `% _        this->p->next = NULL;
    0 t0 `. E: O# k$ {# ]9 m        this->p->value = num1;
    / \, w+ T8 C9 ~) u# g+ Y        pTmp = this->p;% l' H- i2 M) V, R& E
        }
    - V" W1 m9 s( y' r    else7 B! F4 ]' L7 L' ~6 j
        {& H* I+ A& @! @
        while( pTmp->next )( r' @' u# J" o% T, e3 s  N
            pTmp = pTmp->next;) D! C; \* Z" @+ h' B4 H% j
        pTmp->next = new numNod;/ F! ?( w' y3 W! V7 ~8 {% q
        pTmp->next->value = num1;1 t) ]3 r# K5 X6 ?& J
        pTmp->next->next = NULL;, r& I/ Z8 b* s4 a
        pTmp = pTmp->next;2 \. ^+ Z; i5 {  C- C$ v
        }
    7 H: e" ^. H7 l, M4 J   
    % ]; ]: P, G5 o% b: {$ B    if( sign == '>' )
    % h* {" |/ a3 E1 y2 [: n( q0 H! F    {7 |" H' J: m7 p
            pTmp->win.push_back( num2 );
    ' \: F, I- x& u/ W- B- g    }& I2 |' [( m7 d" p
        else if ( sign == '<' )9 c* \! t, {: M$ x* F  v  z* ^$ t
        {
    : f# e3 I7 [+ O: l$ p  O        pTmp->lose.push_back( num2 );
    0 {2 e1 [+ X& S' |! v9 C; Y    }
    # d4 `% d* ~6 m) R2 Z4 ~    else if( sign == '=' )//平局! ~* z0 U3 K4 _: z9 ]
        {
    ( a6 `' Z6 q. o% _. T, p& B        pTmp->win.push_back( num2 );/ Y4 J  w6 j# Q% }3 h- G
            pTmp->lose.push_back( num2 );. s/ O- @6 ?/ ^( V, Y6 {2 y( P
        }
    5 B* @; `, _" z1 u4 I: Y    else//非法比较字符  y* Z7 F+ L# j( _; j7 m2 k4 M9 j
        {. U- y7 o( V+ V5 ~1 D, @' Z
            cout << "Sign Error!" << endl;7 w  Q3 O# ]0 i7 `
            return;8 C# u- s" t' _  g
        }8 J* e: W3 }0 a
    }8 |8 p" N# l; g* _% _- P: r6 T

    * S* S) d( H1 z5 U+ pint Run::Compare( int num1, int num2, char sign )
    # m5 r) i, A5 |. g: o4 p{
    # |3 k9 E3 {. S  [5 D+ U/ I/ m4 Z    numNod *pTmp;  F3 Q8 z5 d1 b7 f8 T
        int result(-1);
    5 |7 k5 R2 p3 R   
    1 B4 s  L( D  X3 V9 T$ r    //检查队列有没有num1 和 num2  有点话处理 每有生成
    - y+ N9 J. m7 Z; c    pTmp = this->SearchNum( num1 );! S3 M$ B$ P( q& |, o. f) D
        if( pTmp )//如果已经有0 z) c% X6 C% _+ m* \1 W4 T
        {7 o& t7 ~; p9 {5 Q" ?
            this->ReworkList( pTmp, sign, num2 );
    4 W# S$ W* A" I/ n$ s8 g, {" M    }
    8 k) Q1 T6 a' G  h, m    else
    * w& D  E- U/ s: V    {
    - j2 t& _% B7 Q( V/ o        this->ReworkList( num1, sign, num2 );
    ( k; A0 i: E- ~0 \5 P( I6 I3 E    }
    " B- Q. G( Y7 c9 c+ }1 y: L    //处理第二个数字; l6 j$ z1 t. o9 {) j+ w7 z" c
        pTmp = this->SearchNum( num2 );7 L9 ^: Z  Y4 ]0 ?
        if( pTmp )//如果已经有
    / p2 k5 R1 f) `- `, I    {8 h, @, ]% a1 ~  [
            this->ReworkList( pTmp, sign, num1 );
    ( b7 K: g8 D. J0 S3 h8 p    }
    4 ~7 Z4 u: m7 `" w. j& g    else
    5 b1 T4 p3 c2 p4 f. R  H    {( l/ Z1 r, S6 x& a  G- m6 j; H
            this->ReworkList( num2, sign, num1 );
    3 D+ S- g) Y* x4 i4 m6 `" Z" c    }
    % F) n/ H# M# S9 \3 n( d9 m    ++ this->numOfCheck;4 Q( U7 ~4 p& H" G
        result = this->CheckUp();
    ; t# ?5 M: R0 K2 X$ p  i    if( result != -1 )1 ]: Z4 K( q& ?; v$ W# M6 \8 _
        {* ]" @8 M2 `/ k2 Y- d% ]# A
            return result;9 Z- f* E  r6 M8 ?/ m
        }
    4 f1 P% K" [, x. A+ B    return -1;
    , ?% E; n+ R1 C5 w& V5 N8 E' k  R}
    ; R' P* x% g( t: w' Y
    8 }, i  q/ Q$ A9 U2 @+ y7 V1 eint Run::CheckUp()//返回-1表示没有得出裁判,否则返回裁判的编号! K  h4 [3 E) n
    {6 o% ?' b8 b* `, i
        numNod *pTmp = this->p;
    , k" n2 N' W. V8 ~6 P4 @) I    int numOfSame = 0;//win lose列有相同有相同数字的次数) K) t( G+ p5 H: T: J
        while( pTmp )- p- P/ |  @. v6 y7 h7 {
        {7 K) _" V+ |6 V4 U
            for( vector<int>::size_type i = 0; i < pTmp->win.size(); ++ i )
    ' K$ t* T+ C# H: g        {( N! t' u* p- M2 }' t+ G* S
                for( vector<int>::size_type j = 0; j < pTmp->lose.size(); ++ j )
    " r8 J7 z0 \2 E            {
    + Q! C  {8 a2 ~* }* D6 ~# G                if( pTmp->win == pTmp->lose[j] )
    7 g) I8 S2 O. t1 ^. e                    ++ numOfSame;1 c! x6 N& T) e6 U' f
                }
    7 D, u( H, S# e7 r# I" a, m4 U, P        }
    * Z( G" Y2 \  m- N1 E0 K        if( numOfSame > 1 )6 a9 \0 H: }* t
            {: I+ E2 t1 T( x4 N" x
                return pTmp->value;//返回裁判数字编号2 h6 g+ P# i8 h/ S
            }" x# e3 s% ?+ C4 ]
            numOfSame = 0;" a# B& W( N4 x* j" M) h
            pTmp = pTmp->next;
    7 {' D' f2 @* D/ r    }
    8 r+ g) S+ G4 K$ h    return -1;0 k0 |9 `! Q. R- S9 }; L# ^# I
    }1 i3 n8 L5 S, D) d# @7 ~
    3 N/ y3 S: V3 M% x
    int main()
    & `% J4 F8 a' U" P# c1 e{! `* R7 Y% Q2 G
        Run example1;/ f1 }  @- d1 W) c/ o+ f0 {
        cout << "请输入选手人数 和 比赛次数" << endl;
    : {/ w$ @" `! H5 N$ E7 G" ?5 z    int num1(0), num2(0);: f4 [/ K7 \; K" P
        cin >> num1 >> num2;
    ; F3 y9 h; V7 _- m' W    if( num1 == 1 && num2 == 0 )1 b; @: C/ P. ~$ S: \" \% F5 A
        {
    6 z8 [+ r. W6 o# j  {; {" G        cout << "Player 0 can be determined to be the judge after 0 lines" << endl;
    $ E$ _/ J6 k8 b5 ?2 Y        return 0;6 @0 K0 p2 z( U
        }
    ( [7 o. B' B+ f& X: v+ R0 W    else if( num2 == 0 && num1 > 1 )
    8 b, X' i4 ?9 u7 \    {
    ' H+ t' w8 M* m0 n9 G0 Z& q        cout << "Can not determine " << endl;$ g, z4 X4 ^; w! Q" ]& f
            return 0;
    % g. s$ O1 o( k( F' h    }: N8 Y% j0 a  Q- a2 j7 M, _
        cout << "请输入" << num2 << "次的比赛结果,让程序来猜测裁判是谁,输入格式例如 1 < 0" << endl;
    - N6 ~  [; @+ w+ }6 a2 x* M    int num3(0), num4(0);
    0 w. V; d. i; D* b* Z! Y/ G    char sign;
    9 G' s5 |% t- d" O5 V, a3 ]    //string string1;' g$ k4 A) |. q3 S( c6 e! f
        int comparlines(0);4 Q$ j# y2 a3 m
        while( cin >> num3 >> sign >> num4 && comparlines < num2 )
    2 y% u: P1 u, M% }4 T    {
    , F8 W, z  G* P- y% v9 m6 B        //cout << "Debug:: string1:" << string1 << endl;
      ^/ e8 }9 @3 W7 m0 m4 v* U        //num3 = string1[0];
    / l& L3 }! S0 t* H  l5 C4 r; P        //sign = string1[1];( m  [  k% }% ^1 G
            //num4 = string1[2];
    , z. {* ?5 `* ]2 L' Q6 F; r$ T        //cout << "Debug:: num3" << string1[0] << endl;
    8 }% ~7 {- v& q3 {; B/ `        if( num3 < 0 || num3 > num1 || num4 < 0 || num4 > num1 )
    / q  n5 G& M- |* N: P+ q        {9 c' l/ `3 e# R  D9 o! Q9 P
                cout << "存在选手编号非法输入,程序退出!" << endl;
    ' P) W7 [, b; W0 K            return -1 ;
    " N4 h! n+ Y4 ?) N! W3 P9 g        }
    : g  M7 P4 \9 y        int rs = example1.Compare( num3, num4, sign );( i; \! S& `" m; y& w
            if( rs != -1 )
    # Q7 M) g- c' N1 \- A2 {4 n3 l2 @9 M        {( y) O0 T! F0 q0 {
                cout << "Player" << rs << "can be determined to be the judge after " << comparlines << " lines" << endl;( S; _& c' O: R+ {9 u8 G$ ^
                return 0;4 f8 y- ?! b/ Y
            }
    . S4 F+ Q2 ^' U  M        ++ comparlines;
    7 Z3 q( l# I9 ]( u+ h        if( comparlines == num2 )
    6 p7 q4 L+ S* o) o, y* L4 s+ N        {! {, z5 p& {( B
                cout << " Can not determine " << endl;5 g" @! j& H. k* D6 e/ n' i
                return 0;
    7 u. q' \* q  o5 r' e        }  t3 W' Y) Z6 a. W
        }
    9 P2 T  A  o7 h    & |' x2 L3 L7 ^' X- O
        return 0;
    / v3 y4 s, B8 W0 u- G  J0 i}4 A$ T6 h/ v4 l& n- k' g; Z- i/ e

    % u& I* r0 D$ K7 f6 A
    3 ~2 j  f/ T8 @% S2 V. ]: p  p9 |4 \
    6 U3 C7 e3 ~& r# ^# n; S
    + L; o5 n: {/ b

    2 {2 S6 b% Z& U" ]# `; H6 N4 c2 P- V6 c

    * ~, D! W% E0 p; j$ t来源:编程爱好者acm题库
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    2

    主题

    5

    听众

    309

    积分

    升级  3%

  • TA的每日心情
    开心
    2014-8-27 16:50
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    邮箱绑定达人

    群组东北三省联盟

    回复

    使用道具 举报

    2

    主题

    5

    听众

    309

    积分

    升级  3%

  • TA的每日心情
    开心
    2014-8-27 16:50
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    邮箱绑定达人

    群组东北三省联盟

    回复

    使用道具 举报

    qiuyeliu        

    0

    主题

    3

    听众

    185

    积分

    升级  42.5%

  • TA的每日心情
    郁闷
    2015-1-23 18:00
  • 签到天数: 53 天

    [LV.5]常住居民I

    群组2012第三期美赛培训

    eueis 发表于 2011-8-31 17:04 3 F* ^* y+ K1 W. T4 O1 h
    一起交流!对这个话题感兴趣的朋友们
    5 j  P% ~; N! B( J. q
    Acm 一般用C吧
    回复

    使用道具 举报

    4

    主题

    4

    听众

    1133

    积分

    升级  13.3%

  • TA的每日心情
    开心
    2013-5-14 11:03
  • 签到天数: 167 天

    [LV.7]常住居民III

    群组数学建摸协会

    群组数学建模

    群组西安交大数学建模

    群组2011建模讨论组

    群组第一期sas基础实训课堂

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-11-8 23:46 , Processed in 0.857542 second(s), 72 queries .

    回顶部