冬训 day2
模拟枚举。。。
A - New Year and Buggy Bot(http://codeforces.com/problemset/problem/908/B)
暴力枚举即可,但是直接手动暴力会非常繁琐,所以用到了STL,next_permutation(a,a+4),这个函数便是对a内元素进行全排列。
#include<bits/stdc++.h>
#define N 100000
#define ll long long
using namespace std;
int a[];
char ma[][],s[];
int main()
{
int n,m,x,y,mx,my,ans=;
cin>>n>>m;
for(int i=;i<n;++i) cin>>ma[i];
for(int i=;i<n;++i)
for(int j=;j<m;++j)
if(ma[i][j]=='S') x=i,y=j;
getchar();
cin>>s;
for(int i=;i<;++i) a[i]=i+;
do
{
mx=x;my=y;
int g=;
for(int i=;i<strlen(s);++i)
{
if(s[i]==a[]) mx--;
else if(s[i]==a[]) mx++;
else if(s[i]==a[]) my--;
else my++;
if(mx<||my<||mx>=n||my>=m) break;
if(ma[mx][my]=='#') break;
if(ma[mx][my]=='E')
{
g=;break;
}
}
ans+=g;
}while(next_permutation(a,a+));
cout<<ans;
}
B - Local Extrema
遍历水。
C - The Artful Expedient
按理说是不会T的,原因在于傻子n?后来改成存储出现过的数就好了,而不必一边一边去扫描。。平时常用的东西为什么会突然想不起来用呢…………
D - Quasi-palindrome
去掉后导0判断回文就好了啊。。。似乎就是手残?少打一个等号,wa了五发。。。
E - Generous Kefa
根据题意,看哪种气球给每个人都发了还有剩的,就gg。
F - Five-In-a-Row
这个题没什么难度,搜索即可,只是代码量稍微大点。注意处理好边界条件。然而这个题还是有手残,两个地方的j写成i,怪我咯
G - An abandoned sentiment from past
能不能补进去生成非单调递增的序列。。考虑最好的情况时能不能实现就OK,即把子序列降序加进去,再判断就OK了
#include<bits/stdc++.h>
#define N 100000
#define ll long long
using namespace std;
int a[],b[],vis[];
int main()
{
int n,k;
cin>>n>>k;
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(vis,,sizeof(vis));
for(int i=;i<=n;++i) scanf("%d",&a[i]);
for(int i=;i<=k;++i) scanf("%d",&b[i]);
sort(b+,b+n+);
int hh=n,zha=;
for(int i=;i<=n;++i)
{
if(!a[i])
{
a[i]=b[hh--];
}
}
for(int i=;i<=n;++i)
{
if((a[i]<=a[i-]&&i!=)||(a[i]>=a[i+]&&i!=n))
{
zha=;break;
}
}
if(zha) printf("YES\n");
else printf("NO\n");
return ;
}
H - Score
无脑模拟。。
I - Online Judge
主要问题在读入吧我觉得。。好好用strcat,想用string来着,但是东西都忘了就没用。。。读入的时候就顺便存一个不带空格,换行符,制表符的,先直接比较,再比较去掉空白符的,即可。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
using namespace std;
char s1[],s2[],ss1[],ss2[];
char temp[];
void read(char s[],char ss[])
{
gets(temp);
while(strcmp(temp,"START"))
gets(temp);
while(gets(temp))
{
if(strcmp(temp,"END")==) break;
if(strlen(temp)) strcat(s,temp);
strcat(s,"\n");
}
int t=;
for(int i=;i<strlen(s);++i)
{
if(s[i]!=' '&&s[i]!='\t'&&s[i]!='\n')
ss[t++]=s[i];
}
ss[t]='\0';
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
s1[]='\0';s2[]='\0';
read(s1,ss1);read(s2,ss2);
if(strcmp(s1,s2)==) printf("Accepted\n");
else
{
if(strcmp(ss1,ss2)==) printf("Presentation Error\n");
else printf("Wrong Answer\n");
}
}
}
J - WERTYU
再次死在手残加眼残?把'老人家给忘了真的怪我。。。不过用字符串似乎是个好东西。。
K - Maximum Product
O(n2)算法即可,但是不明白为什么我的maxa设成-N就炸了。。。留着这个问题放几天。。。
L - NPY and arithmetic progression
这个题是个脑洞吧。。所有大于三的都可以直接分成公差为0的数列。。所以只有1,2,3,2,3,4,1,2,3,4三种情况,来一遍爆搜,每一次都判断是否满足,满足退出即可。这个题我WA五发的原因是把Yes打成了YES!!!!!!!!!
#include<bits/stdc++.h>
#define N 100000
#define ll long long
using namespace std;
bool check(int x[])
{
for(int i=;i<=;++i)
{
if(x[i]==||x[i]>=) continue;
else return false;
}
return true;
}
int main()
{
int t,a[],b[];
cin>>t;
while(t--)
{
int flag=;
for(int i=;i<=;++i)
{
scanf("%d",&a[i]);
}
if(check(a))
flag=;
else
{
for(int i=;i<=;++i)//1 2 3
for(int j=;j<=;++j)//2 3 4
for(int k=;k<=;++k)//1 2 3 4
{
b[]=a[]-i-k;
b[]=a[]-i-j-k;
b[]=a[]-i-j-k;
b[]=a[]-j-k;
if(check(b))
{
flag=;break;
}
}
}
if(flag) printf("Yes\n");
else printf("No\n");
}
}
M - Visit
来回各种走肯定会晕。。。为了达到最优,所以只能转向一次。枚举每个点转向即可。
#include <iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,T,a[];
int main()
{
int s,q,p,ma,x,y;
while(scanf("%d %d",&n,&T)!=EOF)
{
a[]=;//加一个0,这样便于后面的操作
for(int i=; i<=n; i++)
scanf("%d",&a[i]);
sort(a,a+n+);//从小到大排序,
s=lower_bound(a,a+n+,)-a;//找到点0
ma=;
for(q=s;q>=;q--)//q是往左
{
for(p=s;p<=n;p++)//p是往右
{
x=-a[q],y=a[p];
if(*x+y<=T&&p-q>ma) ma=p-q;//左右
if(*y+x<=T&&p-q>ma) ma=p-q;//右左
}
}
cout<<ma<<endl;
}
return ;
}
N - Coat of Anticubism
脑洞题。。想一个大三角形就行了。
O - Island Puzzle
相对位置不变。。不要手残。
P - Polyline
没看见题上说只有三个点。。。枚举所有情况即可。
手残手残手残。
冬训 day2的更多相关文章
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- java day2一个模拟双色球的代码
package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
- 冲刺阶段 day2
day2 项目进展 今天本组五位同学聚在一起将项目启动,首先我们对项目进行了规划,分工,明确指出每个人负责哪些项目.由负责第一部分的组员开始编程,在已经搭建好的窗体内,对系部设置进行了编写,本校共六个 ...
- python_way ,day2 字符串,列表,字典,时间模块
python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
随机推荐
- java中如何设置HTTP协议的头信息(header)
首先,我们先看一下http的头信息到底是什么:HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他 ...
- 迭代器Iterator与语法糖for-each
一.为什么需要迭代器 设计模式迭代器 迭代器作用于集合,是用来遍历集合元素的对象.迭代器迭代器不是Java独有的,大部分高级语言都提供了迭代器来遍历集合.实际上,迭代器是一种设计模式: 迭代器模式提供 ...
- 添加SQL字段
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallin ...
- 适合学习C语言开源项目——嵌入式脚本语言 Berry
嵌入式脚本语言 Berry github网址 :https://github.com/Skiars/berry Berry 是一款面向小型嵌入式系统的脚本语言,目前发布了 0.1.0 版本.相比于其他 ...
- kuangbin 并查集
A : Wireless Network POJ - 2236 题意:并查集,可以有查询和修复操作 题解:并查集 #include<iostream> #include<cstdi ...
- DFS:Prime Ring Problem(素数环)
解体心得: 1.一个回溯法,可以参考八皇后问题. 2.题目要求按照字典序输出,其实在按照回溯法得到的答案是很正常的字典序.不用去特意排序. 3.输出有个坑,就是在输出一串的最后不能有空格,不然要PE, ...
- rope(转载)
谈c++ pb_ds库(一)rope大法好 (转载)原文链接 https://www.cnblogs.com/keshuqi/p/6257642.html 参考资料 1)官方说明 支持 sorry,c ...
- TCP/IP网络编程之域名及网络地址
域名系统 DNS是对IP地址和域名进行互相转换的系统,其核心是DNS服务器.提供网络服务的服务端也是通过IP地址来区分的,但由于IP地址难于记忆,因此通过容易记忆并表述的域名来取代IP地址 在浏览器地 ...
- SSRS 制作报表时报错: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
转载注明出处,原文地址:http://www.cnblogs.com/zzry/p/5718739.html 在用ssrs 制作报表时报如下错误 错误信息截图: 看到如上错误第一个想到的解决方法就是 ...
- 6、CSS基础 part-4
1.CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块 ...