2016ACM/ICPC亚洲区沈阳站 - A/B/C/E/G/H/I - (Undone)
链接:传送门
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)的更多相关文章
- HDU 5950 Recursive sequence 【递推+矩阵快速幂】 (2016ACM/ICPC亚洲区沈阳站)
Recursive sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- HDU 5952 Counting Cliques 【DFS+剪枝】 (2016ACM/ICPC亚洲区沈阳站)
Counting Cliques Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- HDU 5948 Thickest Burger 【模拟】 (2016ACM/ICPC亚洲区沈阳站)
Thickest Burger Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- HDU 5949 Relative atomic mass 【模拟】 (2016ACM/ICPC亚洲区沈阳站)
Relative atomic mass Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- 2016ACM/ICPC亚洲区沈阳站-重现赛赛题
今天做的沈阳站重现赛,自己还是太水,只做出两道签到题,另外两道看懂题意了,但是也没能做出来. 1. Thickest Burger Time Limit: 2000/1000 MS (Java/Oth ...
- 2016ACM/ICPC亚洲区沈阳站-重现赛
C.Recursive sequence 求ans(x),ans(1)=a,ans(2)=b,ans(n)=ans(n-2)*2+ans(n-1)+n^4 如果直接就去解...很难,毕竟不是那种可以直 ...
- 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 ...
- 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 ...
- 2016ACM/ICPC亚洲区沈阳站 Solution
A - Thickest Burger 水. #include <bits/stdc++.h> using namespace std; int t; int a, b; int main ...
随机推荐
- Java内存管理:Java内存区域 JVM运行时数据区
转自:https://blog.csdn.net/tjiyu/article/details/53915869 下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些, ...
- Mac NVM 配置
1.NVM 简介 NVM(node version manager)是一个可以让你在同一台机器上安装和切换不同版本 node 的工具. GitHub 地址 2.NVM 环境配置 2.1 安装 NVM ...
- Hive 根据表中某个字段动态分区 以及临时表创建
使用hive储存数据时,需要对做分区,如果从kafka接收数据,将每天的数据保存一个分区(按天分区),保存分区时需要根据某个字段做动态分区,而不是傻傻的将数据写到某一个临时目录最后倒入到某一个分区,这 ...
- Java Socket 通信实例 - 转载
基于Tcp协议的简单Socket通信实例(JAVA) 好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些 ...
- myeclipse中的classpath .
博客分类: java基础 myeclipse中的classpath是一个很重要的问题 myeclipse的在查找的时候都是按照其查找,而且myeclipse有一个专门的文件来保存classpath ...
- Linux网络设备驱动 _驱动模型
Linux素来以其强大的网络功能著名,同时, 网络设备也作为三大设备之一, 成为Linux驱动学习中必不可少的设备类型, 此外, 由于历史原因, Linux并没有强制对网络设备贯彻其"一切皆 ...
- Ubuntu 14.04 LTS 系统空间不足,输入密码后,无法进入桌面的解决办法
问题场景:系统空间不足,在没有清理空间的情况下,重启机器,可能会出现,输入密码后,无法进入桌面的现象. 如何解决? 解决方法:以访客身份登录系统,可以看到你的ip地址,然后以ssh的方式登录你的主机, ...
- js this指向理解
1.如果调用this的函数上级有多个对象,this只会指向上一级对象 下面实例fn函数调用this时,this指向b对象,如果b里面有a属性就输出值: 如果没有就是undefined 在来看下下面的实 ...
- [原]eclipse + pydev :Error in sitecustomize; set PYTHONVERBOSE for tracaeback: KeyError: 'sitecustomize'
问题点: 安装 eclipse + pydev的时候出现 Error in sitecustomize; set PYTHONVERBOSE for tracaeback: KeyError: 'si ...
- 使用PsExec获取shell执行命令
PsExec PsExec是pstools工具组套件的一部分,确成为了渗透利器,下载地址:点击这里下载 连接shell 我的Windows Server 2012默认打开域网络防火墙的时候,是不能连接 ...