链接:传送门


A - Thickest Burger - [签到水题]

ACM ICPC is launching a thick burger. The thickness (or the height) of a piece of club steak is A (1 ≤ A ≤ 100). The thickness (or the height) of a piece of chicken steak is B (1 ≤ B ≤ 100).
The chef allows to add just three pieces of meat into the burger and he does not allow to add three pieces of same type of meat. As a customer and a foodie, you want to know the maximum total thickness of a burger which you can get from the chef. Here we ignore the thickness of breads, vegetables and other seasonings.

Input
The first line is the number of test cases. For each test case, a line contains two positive integers A and B.

Output
For each test case, output a line containing the maximum total thickness of a burger.

Sample Input
10
68 42
1 35
25 70
59 79
65 63
46 6
28 82
92 62
43 96
37 28

Sample Output
178
71
165
217
193
98
192
246
235
102

Hint
Consider the first test case, since 68+68+42 is bigger than 68+42+42 the answer should be 68+68+42 = 178.
Similarly since 1+35+35 is bigger than 1+1+35, the answer of the second test case should be 1+35+35 = 71.

题意:

给出 $a,b$,输出 $\max(a+a+b,a+b+b)$。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&a,&b);
printf("%d\n",max(a+a+b,a+b+b));
}
}

B - Relative atomic mass - [签到水题]

Relative atomic mass is a dimensionless physical quantity, the ratio of the average mass of atoms of an element (from a single given sample or source) to $\frac{1}{2}$ of the mass of an atom of carbon-12 (known as the unified atomic mass unit).
You need to calculate the relative atomic mass of a molecule, which consists of one or several atoms. In this problem, you only need to process molecules which contain hydrogen atoms, oxygen atoms, and carbon atoms. These three types of atom are written as ’H’,’O’ and ’C’ repectively. For your information, the relative atomic mass of one hydrogen atom is 1, and the relative atomic mass of one oxygen atom is 16 and the relative atomic mass of one carbon atom is 12. A molecule is demonstrated as a string, of which each letter is for an atom. For example, a molecule ’HOH’ contains two hydrogen atoms and one oxygen atom, therefore its relative atomic mass is $18 = 2 \times 1 + 16$.

Input
The first line of input contains one integer $N(N \le 10)$, the number of molecules. In the next $N$ lines, the i-th line contains a string, describing the i-th molecule. The length of each string would not exceed 10.

Output
For each molecule, output its relative atomic mass.

Sample Input
5
H
C
O
HOH
CHHHCHHOH

Sample Output
1
12
16
18
46

题意:

氢元素重为 $1$,碳元素重为 $12$,氧元素重为 $16$,对输入的字符串(只包含 $C,H,O$)求和。

AC代码:

#include<bits/stdc++.h>
using namespace std;
string s;
int w[];
int main()
{
ios::sync_with_stdio();
cin.tie(); memset(w,,sizeof(w));
w['H']=;
w['C']=;
w['O']=;
int T;
cin>>T;
while(T--)
{
cin>>s;
int ans=;
for(int k=;k<s.size();k++) ans+=w[s[k]];
cout<<ans<<endl;
}
}

C - Recursive sequence - [矩阵快速幂加速递推]


E - Counting Cliques - [暴力搜索]

A clique is a complete graph, in which there is an edge between every pair of the vertices. Given a graph with N vertices and M edges, your task is to count the number of cliques with a specific size S in the graph.

Input
The first line is the number of test cases. For each test case, the first line contains 3 integers N,M and S (N ≤ 100,M ≤ 1000,2 ≤ S ≤ 10), each of the following M lines contains 2 integers u and v (1 ≤ u < v ≤ N), which means there is an edge between vertices u and v. It is guaranteed that the maximum degree of the vertices is no larger than 20.

Output
For each test case, output the number of cliques with size S in the graph.

Sample Input
3
4 3 2
1 2
2 3
3 4
5 9 3
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
6 15 4
1 2
1 3
1 4
1 5
1 6
2 3
2 4
2 5
2 6
3 4
3 5
3 6
4 5
4 6
5 6

Sample Output
3
7
15

题意:

给出一个 $n$ 个顶点 $m$ 条无向边的图,让你求图中,节点数为 $S$ 的完全图有多少个。

题解:

DFS地去找就可以了,为了保证找出来的子图没有重复,应当认为规定只能往比编号比当前节点大的节点走。

AC代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=; int n,m,s;
int mp[maxn][maxn];
vector<int> v; vector<int> G[maxn]; int ans;
bool vis[maxn];
void dfs(int now,vector<int>& v)
{
if(v.size()==s)
{
ans++;
return;
} for(int i=;i<G[now].size();i++)
{
int nxt=G[now][i];
if(vis[nxt]) continue; bool ok=;
for(int k=;k<v.size();k++) {
if(!mp[v[k]][nxt]) {
ok=;
break;
}
}
if(ok)
{
v.push_back(nxt), vis[nxt]=;
dfs(nxt,v);
v.pop_back(), vis[nxt]=;
}
}
} int main()
{
ios::sync_with_stdio();
cin.tie(); int T;
cin>>T;
while(T--)
{
cin>>n>>m>>s; memset(mp,,sizeof(mp));
for(int i=;i<=n;i++) G[i].clear();
for(int i=,u,v;i<=m;i++)
{
cin>>u>>v;
if(u>v) swap(u,v);
if(!mp[u][v])
{
G[u].push_back(v);
mp[u][v]=mp[v][u]=;
}
} ans=;
v.clear();
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)
{
v.push_back(i), vis[i]=;
dfs(i,v);
v.pop_back(), vis[i]=;
}
cout<<ans<<'\n';
}
}

G - Do not pour out - [积分+二分] - (Done)


H - Guessing the Dice Roll - [AC自动机+高斯消元] - (Undone)


I - The Elder - [树形DP+斜率优化] - (Undone)

2016ACM/ICPC亚洲区沈阳站 - A/B/C/E/G/H/I - (Undone)的更多相关文章

  1. HDU 5950 Recursive sequence 【递推+矩阵快速幂】 (2016ACM/ICPC亚洲区沈阳站)

    Recursive sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  2. HDU 5952 Counting Cliques 【DFS+剪枝】 (2016ACM/ICPC亚洲区沈阳站)

    Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. HDU 5948 Thickest Burger 【模拟】 (2016ACM/ICPC亚洲区沈阳站)

    Thickest Burger Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  4. HDU 5949 Relative atomic mass 【模拟】 (2016ACM/ICPC亚洲区沈阳站)

    Relative atomic mass Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  5. 2016ACM/ICPC亚洲区沈阳站-重现赛赛题

    今天做的沈阳站重现赛,自己还是太水,只做出两道签到题,另外两道看懂题意了,但是也没能做出来. 1. Thickest Burger Time Limit: 2000/1000 MS (Java/Oth ...

  6. 2016ACM/ICPC亚洲区沈阳站-重现赛

    C.Recursive sequence 求ans(x),ans(1)=a,ans(2)=b,ans(n)=ans(n-2)*2+ans(n-1)+n^4 如果直接就去解...很难,毕竟不是那种可以直 ...

  7. HDU 5950 - Recursive sequence - [矩阵快速幂加速递推][2016ACM/ICPC亚洲区沈阳站 Problem C]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 Farmer John likes to play mathematics games with ...

  8. HDU 5954 - Do not pour out - [积分+二分][2016ACM/ICPC亚洲区沈阳站 Problem G]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5954 Problem DescriptionYou have got a cylindrical cu ...

  9. 2016ACM/ICPC亚洲区沈阳站 Solution

    A - Thickest Burger 水. #include <bits/stdc++.h> using namespace std; int t; int a, b; int main ...

随机推荐

  1. Win10一直弹出 用户账户控制 解决

    目录 问题 解决方法一 将appwiz.cpl加入UAC白名单 解决方法二 问题 自从更新了Windows后,就出现了一个问题,隔一段时间就弹出一次下面的对话框,而且如果时间稍长,会弹出多个. 解决方 ...

  2. git rebase修改历史提交内容

    目录 简述 解决过程 简述 git提交历史中有一次提交的内容是有问题,因为每隔一段时间就要发一次版本,所以必须修改这次提交的内容,以便其不影响已经发布的版本. 大概是这样子的 A --- B ---- ...

  3. Android BLE蓝牙详细解读

    代码地址如下:http://www.demodashi.com/demo/15062.html 随着物联网时代的到来,越来越多的智能硬件设备开始流行起来,比如智能手环.心率检测仪.以及各式各样的智能家 ...

  4. Unable to find vcvarsall.bat

    windows下pip安装各种包时,经常会遇到此错误.本文介绍解决方案. 第一步:安装visual studio 第二步:安装everything 打开everything,搜索vcvarsall.b ...

  5. 谈谈tmpdir与innodb_tmpdir的区别和用处

    [背景] innodb_tmpdir是在innodb online ddl中提到的一个参数:大致的意思是innodb在做online-ddl的时候会向临时目录写入“临时排序文件” 而这些文件的大小基本 ...

  6. CentOS7下解决ifconfig command not found的办法

    先 https://www.cnblogs.com/PatrickLiu/p/8433273.html 再 https://blog.csdn.net/ryu2003/article/details/ ...

  7. 解决Warning Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

    系统:Ubuntu 16.04 LTS 环境:vscode+java extension pack打开了一个gradle的java项目:另外,用一个terminal启动了groovysh 报错: gr ...

  8. [Memcached]分布式缓存系统Memcached在Asp.net下的应用

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  9. vux安装中遇到的坑(转)

    1.输入 npm install vux --save 2.输入 npm install vux-loader --save-dev(没安装的时候,会一直报错) 3.build/webpack.bas ...

  10. 【OSPF】防环机制详解

    我们在提到OSPF的时候,时常喜欢说的一句话就是,OSPF能够计算出无环的路由,那么OSPF究竟是如何规避路由环路的呢?OSPF与距离矢量路由协议不同,运行OSPF的路由器之间交互并不是路由信息,而是 ...