今天是毕业的学长给高二的同学测试。组队比赛,ACM赛制,于是就愉快的和学姐一队啦。

  看到英文题面感到恐慌,不过好在不难读懂。

  

  A:并没有什么技术含量的模拟题;

  

  B:字符串题,给定一些比赛和每个队胜利的场数,判断是否合法。

  [[a-b]-[c-d]],a 2,b 0,c,1,d 0就是合法的。(意思是:a和b比一场,c和d比一场,两场的胜者再一起比一场)

  递归地读入形成一个树的结构,从最基础的比赛层层check上去。

  
 1 # include <cstdio>
 2 # include <iostream>
 3 # include <cstring>
 4 # include <string>
 5 
 6 using namespace std;
 7 
 8 int l,a,b,v[30],x,cnt=26,ap=0;
 9 bool vis[30],f=true;
10 char p,s[1000];
11 struct race
12 {
13     int x,y,w;
14 }r[1000];
15 
16 int read (int x)
17 {
18     int pos=x+1,a,b;
19     if(s[pos]=='[')
20     {
21         pos=read(pos);
22         a=cnt;
23     }else
24         a=s[pos]-'a';    
25     pos+=2;
26     if(s[pos]=='[')
27     {
28         pos=read(pos);
29         b=cnt;
30     }else
31         b=s[pos]-'a';    
32     r[++cnt].x=a;
33     r[cnt].y=b;
34     return pos+1;
35 }
36 
37 int main()
38 {
39     scanf("%s",s+1);
40     read(1);
41     l=strlen(s+1);
42     for (int i=1;i<=l;++i)
43         if(s[i]>='a'&&s[i]<='z'&&vis[ s[i]-'a' ]==false) 
44             vis[ s[i]-'a' ]=true,ap++;
45     for (int i=1;i<=ap;++i)
46     {
47         cin>>p>>x;
48         v[p-'a']=x;
49     }
50     for (int i=27;i<=cnt;++i)
51     {
52         race now=r[i];
53         if(now.x<26) 
54             a=now.x;
55         else
56             a=r[now.x].w;
57         if(now.y<26) 
58             b=now.y;
59         else
60             b=r[now.y].w;
61         if(v[a]==0&&v[b]!=0)
62         {
63             r[i].w=b;
64             v[b]--;
65         }
66         else if(v[a]!=0&&v[b]==0)
67         {
68             r[i].w=a;
69             v[a]--;
70         }
71         else f=false;
72     }
73     for (int i=0;i<26;++i)
74         if(v[i]) f=false;
75     if(f) printf("Yes\n");
76     else printf("No\n");
77     return 0;
78 }
B

相关文章:

  • 2021-04-18
  • 2021-07-06
  • 2021-12-28
  • 2021-12-15
  • 2021-06-15
  • 2021-04-02
  • 2021-08-12
  • 2021-12-25
猜你喜欢
  • 2021-08-22
  • 2021-11-04
  • 2021-07-06
  • 2021-08-19
  • 2021-07-02
  • 2022-12-23
相关资源
相似解决方案