算法竞赛入门经典(第六章)

习题6-1,UVa673,Time:11.1

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cstdlib>
 5 #include<string>
 6 #include <stack>
 7 using namespace std;
 8 int main() {
 9     int Case;
10     string str;
11     bool flag;
12     scanf("%d",&Case);
13     for(int c = 1; c <= Case; c++)
14     {
15         stack<char>q;
16         flag = true;
17         cin>>str;
18         for(int i = 0; i < str.length(); i++)
19         {
20             if(q.size() == 0 || str[i]==‘(‘ || str[i]==‘[‘)        q.push(str[i]);
21             else
22             {
23                 if((str[i]==‘)‘ && q.top()==‘(‘) || (str[i]==‘]‘ && q.top()==‘[‘))
24                 {
25                     q.pop();
26                 }
27                 else
28                 {
29                     flag = false;
30                     break;
31                 }
32             }
33         }
34         if(flag==false || q.size())        cout<<"NO"<<endl;
35         else     cout<<"YES"<<endl;
36     }
37     return 0;
38 }

时间: 2024-10-10 08:37:08

算法竞赛入门经典(第六章)的相关文章

算法竞赛入门经典_第二章:循环结构程序设计_上机练习_MyAnswer

习题2-1 位数 输入一个不超过109的正整数,输出它的位数.例如12735的位数是5.请不要使用任何数学函数,只用四则运算和循环语句实现. #include<stdio.h> int main(void) { int n; int digit = 0; scanf("%d",&n); while(n) { n = n / 10; digit++; } printf("%d\n", digit); return 0; } 习题2-2 水仙花数 输

《算法竞赛入门经典》第一章1.1

应该说这一章不用做太多训练了,大学都学过,不过还是快速的训练一下吧!! 程序1-1 1 #include<stdio.h> 2 int main() 3 { 4 printf("%d\n",1+2); 5 } 实验4 1 #include<stdio.h> 2 int main() 3 { 4 printf("%d\n",8/5); 5 } 实验4结果输出为:1 程序1-2 1 #include<stdio.h> 2 int ma

《算法竞赛入门经典》第一章1.4

代码1-11 1 #include<stdio.h> 2 int main() 3 { 4 int a,b,n,m; 5 scanf("%d%d",&n,&m); 6 a=(4*n-m)/2; 7 b=n-a; 8 if(n%2==1||a<0||b<0) 9 printf("No answer\n"); 10 else 11 printf("%d %d",a,b); 12 return 0; 13 } 程

《算法竞赛入门经典》第二章 2.1

程序2-1 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 for(int i=1;i<=n;i++) 8 { 9 printf("%d\n",i); 10 } 11 return 0; 12 13 } 程序2-2 1 #include<stdio.h> 2 #include<math.h&

《算法竞赛入门经典》第一章1.3

例题1-2 程序1-6 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 printf("%d%d%d",n%10,n/10%10,n/100); 8 return 0; 9 } 程序1-7 1 #include<stdio.h> 2 #include<math.h> 3 int main()

《算法竞赛入门经典》第二章 2.2

程序2-4 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int n, count = 0; 6 scanf("%d",&n); 7 while(n>1) 8 { 9 if(n % 2 ==1) n = 3*n +1; 10 else n/=2; 11 count++; 12 } 13 printf("%d\n",count); 14 return 0; 15

《算法竞赛入门经典》第一章1.2

程序1-4 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int a,b; 6 scanf("%d%d",&a,&b); 7 printf("%d\n",a+b);8 8 } 程序1-5 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 const double pi=

《算法竞赛入门经典》第一章 程序设计入门 习题

习题1-1 平均数(average)输入三个数,输出他们的平均值,保留3位小数. #include <stdio.h> int main() { double a, b, c; scanf("%lf%lf%lf", &a, &b, &c); printf("%.3lf", (a+b+c)/3); return 0; } 习题1-2 温度(temperature)输入华氏温度f,输出对应的摄氏温度c,保留3位小数.提示:c=5(f-

《算法竞赛入门经典》第二章 2.3

程序2-7 略去 程序2-8 1 #define LOCAL 2 #include<stdio.h> 3 #define INF 100000000 4 int main() 5 { 6 #ifdef LOCAL 7 freopen("data.in","r",stdin); 8 freopen("data.out","w",stdout); 9 #endif // LOCAL 10 int x, n = 0, m

算法竞赛入门经典 第四章

[√ ] UVA1339 古老的密码 Ancient Cipher [√ ] UVA489 刽子手的游戏 Hangman Judge [√ ] UVA133 救济金发放 The Dole Queue [√ ] UVA213 信息解码 Message Decoding [√ ] UVA512 追踪电子表格中的单元格 Spreadsheet Tracking [√ ] UVA12412 师兄帮帮忙 A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)