【Low版】HAUT - OJ - Contest1035 - 2017届新生周赛(六)题解
题目描述
学校要派6名同学组成两个队(一个队3个人)去参加比赛,每个同学有一个分数,学校希望两个队的分数相等,每个队的分数为该队所有队员的分数的总和。
你的任务是判断是否可能组成两个队使两个队的分数相等。
输入
第一行:整数T,测试实例个数。
对于每组测试实例:
输入一行:包含6个整数a1, ..., a6 (0 ≤ ai ≤ 1000) ,代表每个同学的分数
输出
样例输入
2
1 3 2 1 2 1
1 1 1 1 1 99
样例输出
YES
NO
//我的思路就是直接暴力for循环打表生成所有的有顺序的组合数列,其实这也可以作为一道深
搜入门基础题目!《啊哈算法》上有原题及形象的代码!
#include<stdio.h> //A
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
#define ll long long
#define N 200
int a[][];
int main()
{
int i,T,i1,i2,i3,i4,i5,i6;
int m,n,cnt,flag;
scanf("%d",&T);
while(T--)
{
cnt=;flag=;
for(i=;i<=;i++)
scanf("%d",&a[][i]);
for(i1=;i1<=;i1++){
for(i2=;i2<=;i2++){
if(i2==i1)continue;
for(i3=;i3<=;i3++){
if(i3==i1||i3==i2)continue;
for(i4=;i4<=;i4++){
if(i4==i1||i4==i2||i4==i3)continue;
for(i5=;i5<=;i5++){
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
for(i6=;i6<=;i6++){
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)
continue;
else
{
++cnt;
a[cnt][]=a[][i1];a[cnt][]=a[][i2];a[cnt][]=a[][i3];
a[cnt][]=a[][i4];a[cnt][]=a[][i5];a[cnt][]=a[][i6];
}
}
}
}
}
} }
for(i=;i<=cnt;i++)
{
if(a[i][]+a[i][]+a[i][]==a[i][]+a[i][]+a[i][]){
flag=;
break;
}
}
if(flag)
printf("YES\n");
else
printf("NO\n");
} return ;
}
//其实不然
#include<stdio.h> //A题
#define N 10
int main()
{
int n,a[N],i;
scanf("%d",&n);
while(n--)
{
for(i=;i<=;i++)
scanf("%d",&a[i]);
if(a[]+a[]+a[]==a[]+a[]+a[]||a[]+a[]+a[] ==a[]+a[]+a[]||a[]+a[]+a[]==a[]+a[]+a[]||a[]+a[]+a[]==a []+a[]+a[]||a[]+a[]+a[]==a[]+a[]+a[]||a[]+a[]+a[]==a []+a[]+a[]||a[]+a[]+a[]==a[]+a[]+a[]||a[]+a[]+a[]==a []+a[]+a[]||a[]+a[]+a[]==a[]+a[]+a[]||a[]+a[]+a[]==a []+a[]+a[])
printf("YES\n");
else
printf("NO\n"); }
return ;
}
//没错上面的代码也可以,一共10种情况;分成的两组数中每组数不要求顺序,故
每次枚举一半就可以了!(自己动手画画)
---------------------------------------------------------
题目描述
有水平放置的编号从1到n的n个格子,每个格子中有一个或者多个怪物。你可以在任何一个格子里投下炸弹,这个格子里的怪物都将受到伤害,当每个怪物第一次受到伤害,它会立即移动到相邻的格子(格子n内的怪物只能移动到格子n-1,格子1内的怪物只能移动到格子2),当一个怪物受到两次伤害时,他将彻底被消灭。怪物只有在第一次受到伤害时才一移动,它们自己不会移动。
你要找出消灭所有怪物所需要的最小炸弹数。
输入
第一行:整数T,表示测试实例个数。
对于每组测试实例:
输入一个整数n (2 ≤ n ≤ 100 000) ——表示有n个格子。
输出
样例输入
2
2
3
样例输出
3
4
#include<stdio.h>
#include<iostream> //问题 E: QAQ
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
#define ll long long
#define N 200
char a[]; int main()
{
int T,i,j,k,len,cnt;
scanf("%d",&T);
while(T--)
{
cnt=;
scanf("%s",a);
len=strlen(a);
for(i=; i<len; i++)
{
for(j=i+; j<len; j++)
{
for(k=j+; k<len; k++)
{
if(a[i]=='Q'&&a[j]=='A'&&a[k]=='Q')
{
cnt++;
}
}
}
}
printf("%d\n",cnt);
} return ;
}
//三重FOR循环分别代表三个指针进行遍历,轻松解决问题!
题目描述
给你两个一维数组(都为大于等于1且小于等于9的数),从第一个数组中取至少一个数字,再从第二个数组中取至少一个数字,用你选取的数字组成一个整数,求能组成的最小整数。
如果从第一个数组中选取的数与从第二个数组中选取的数相等,只保留一个即可。
输入
第一行:一个整数T,表示测试实例个数
对于每组测试实例:
第一行:包含两个整数n 和 m (1 ≤ n, m ≤ 9) —— 分别表示两个数组的大小
第二行:包含n个整数a1, a2, ..., an (1 ≤ ai ≤ 9) ——第一个数组
输出
样例输入
2
2 3
4 2
5 7 6
8 8
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1
样例输出
25
1
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define INT 0x7fffffff
#define INF 0x3f3f3f3f int main()
{
int t, n, m, a[], b[];
scanf("%d", &t);
while(t--)
{
scanf("%d%d", &n, &m);
for(int i=; i<n; i++)
scanf("%d", &a[i]);
for(int i=; i<m; i++)
scanf("%d", &b[i]);
sort(a,a+n);
sort(b, b+m);
int s=;
for(int i=; i<n; i++)
{
for(int j=; j<m; j++)
{
if(a[i]==b[j])
s=min(min(a[i], b[j]), s);
}
}
if(s!=-&&s!=)
printf("%d\n", s);
else if(a[]<b[])
printf("%d\n", a[]*+b[]);
else
printf("%d\n", b[]*+a[]);
}
return ;
}
//这个程序用到了库函数sort排序,提供一组样例,数组a:1 2 9,数组b:3 4 9 ,按照题意该组数据的最小值为9,不应该为13!
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
#define ll long long
#define N 200
int a[],b[]; int main()
{
int T,n,m,i,j,minn1,minn2,ans;
scanf("%d",&T);
while(T--)
{
minn1=minn2=;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++){
scanf("%d",&a[i]);
minn1=min(minn1,a[i]); //表示A数组的最小值
}
for(i=;i<=m;i++){
scanf("%d",&b[i]);
minn2=min(minn2,b[i]); //表示B数组的最小值
}
if(minn1==minn2)
ans=minn1;
else
ans=min(minn1*+minn2,minn1+minn2*);
for(i=;i<=n;i++){
for(j=;j<=m;j++){
if(a[i]==b[j]) //如果出现重复值就拿重复值跟ans比较
{
if(ans>a[i])
ans=a[i];
}
}
}
printf("%d\n",ans);
} return ;
}
//上面这个代码用的是一般排序,有一点需要注意的是a数组的数跟b数组的数进行组合,a数组的最小数可以放前面,也可以放到后面去!
题目描述
我们认为一个括号匹配,即对任意一个')',在其左侧都有一个'('与它匹配,且他们形成一一映射关系。
输入
第一行:一个整数T,表示测试实例个数
对于每组测试实例:
第一行:整数n(0≤n≤5×10^6 ),表示括号序列长度
第二行:一个字符串,表示括号
输出
样例输入
2
6
(()))(
6
)))(((
样例输出
1
2
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define INT 0x7fffffff
#define INF 0x3f3f3f3f char ch[];
int main()
{
int t, n, m; scanf("%d", &t);
while(t--)
{
int s=;
scanf("%d", &n);
scanf("%s", ch);
for(int i=; i<n; i++)
{
if(ch[i]=='(')
s++;
else
{
if(s>)
s--;
}
}
printf("%d\n", (s+)/);
}
return ;
}
//找规律题
【Low版】HAUT - OJ - Contest1035 - 2017届新生周赛(六)题解的更多相关文章
- 电信学院第一届新生程序设计竞赛题解及std
首先非常感谢各位同学的参加,还有出题验题同学的辛勤付出 昨天想偷懒就是不想再把我C++11的style改没了,大家看不懂的可以百度一下哦,懒得再写gcc了,毕竟代码是通的 //代表的是行注释,所以那个 ...
- python low版线程池
1.low版线程池设计思路:运用队列queue 将线程类名放入队列中,执行一个就拿一个出来import queueimport threading class ThreadPool(object): ...
- 解决socket粘包的两种low版模式 os.popen()和struct模块
os.popen()模式 server端 import socket import os phone = socket.socket() # 实例化一个socket对象 phone.bind((&qu ...
- ROS机器人程序设计(原书第2版)补充资料 (陆) 第六章 点云 PCL
ROS机器人程序设计(原书第2版)补充资料 (陆) 第六章 点云 PCL 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. RGBD深度摄像头 ...
- C#版 - Leetcode 201. 数字范围按位与(bitwise AND) - 题解
C#版 - Leetcode 201. 数字范围按位与(bitwise AND) - 题解 在线提交: https://leetcode.com/problems/bitwise-and-of-num ...
- Autocad2017破解版下载|Autodesk Autocad 2017中文破解版下载 64位(附注册机/序列号)
Autocad2017是Autodesk公司开发的自动计算机辅助设计软件,可用于二维绘图.详细绘制.设计文档和基本三维设计,它具有良好的用户界面,允许用户通过交互菜单或命令行方式来进行各种操作,包括图 ...
- 云时代 • 新契机:2017届中国SaaS产业大会圆满落幕
2017年5-6日,由拓普会展携手中国云体系产业创新战略联盟主办,江苏省企业信息化协会,浙江省企业信息化促进会,广东省首席信息官协会,CIO时代学院,IDC点评网协办以及上海市网购商会,中国信息化推进 ...
- LOW版统计词频
import string path = 'waldnn' with open(path,'r') as text: words = [raw_word.strip(string.punctuatio ...
- (haut oj 1261 ) 地狱飞龙 利用不定积分求值
题目链接:http://218.28.220.249:50015/JudgeOnline/problem.php?id=1261 题目描述 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心 ...
随机推荐
- 【编程开发】x86,I386,i686, x86_64, x64,amd64、Windows Linux AIX下查看CPU位数和操作系统位数、rpm包名
a2ps-4.13b-57.2.el5.i386.rpm 每一个rpm包的名称都由"-"和"."分成了若干部分.就拿 a2ps-4.13b-57.2.el5.i ...
- elasticsearch的数据写入流程及优化
Elasticsearch 写入流程及优化 一. 集群分片设置:ES一旦创建好索引后,就无法调整分片的设置,而在ES中,一个分片实际上对应一个lucene 索引,而lucene索引的读写会占用很多的系 ...
- Mechanical Simulation借助UE发力自动驾驶仿真
Source https://www.unrealengine.com/en-US/blog/making-autonomous-vehicles-safer-before-they-hit-the- ...
- [转帖]Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典?
Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典? https://www.cnbeta.com/articles/tech/908897.htm 是的,一代经典操作系统Win ...
- springcloud使用之服务的注册发现与消费
随着spring的发展我们发现spring提供了越来越多的项目来帮我们简化框架的搭建,使我们站在巨人的肩膀行走,让我们更关注于开发我们的逻辑.随着技术的更替,我们的新项目也逐渐使用了springboo ...
- Go语言( 运算符)
运算符用于在程序运行时执行数学或逻辑运算. 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相 ...
- MySql取消密码强度验证功能
一.修改MySql配置文件(my.cnf)一般情况下,MySql的配置文件 my.cnf 会在 /etc/ 目录下,如果没有,可以使用以下命令查找位置: find / -name my.cnf 编辑 ...
- C# vb .net实现透视反射效果
在.net中,如何简单快捷地实现Photoshop滤镜组中的透视反射效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...
- 使用jQuery开发messager消息框插件
1.插件使用 首先引入jquery库,然后引入dialog.js.dialog.css.messager.js.messager.css,如下: <script type="text/ ...
- vue和react之间的区别
1.Vue和React之间的区别 相同点: Vue和其他框架一样,都有组件开发和虚拟dom 都支持props进行父子组件之间的数据通信 都支持数据驱动视图,不直接操作真实dom 都支持服务器端的 渲染 ...