2017-10-3 清北刷题冲刺班p.m
a
【问题描述】
你是能看到第一题的 friends 呢。
——hja
给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法。
【输入格式】
一行一个括号序列。
【输出格式】
如果合法,输出 OK,否则输出 Wrong。
【样例输入】
[(])
【样例输出】
Wrong
【数据范围与规定】
70%的数据,1 ≤ ? ≤ 100。
对于100%的数据,1 ≤ ? ≤ 10000,所有单词由大写字母组成。
#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 10010
using namespace std;
int top;
char ch[maxn],st[maxn];
int main(){
//freopen("Cola.txt","r",stdin);
freopen("a.in","r",stdin);freopen("a.out","w",stdout);
scanf("%s",ch+);
int len=strlen(ch+);
for(int i=;i<=len;i++){
if(ch[i]=='('||ch[i]=='['||ch[i]=='{')st[++top]=ch[i];
else if(ch[i]==')'){
if(top==||st[top]!='('){
printf("Wrong");
return ;
}
else top--;
}
else if(ch[i]==']'){
if(top==||st[top]!='['){
printf("Wrong");
return ;
}
else top--;
}
else if(ch[i]=='}'){
if(top==||st[top]!='{'){
printf("Wrong");
return ;
}
else top--;
}
}
if(top!=)printf("Wrong");
else printf("OK");
fclose(stdin);fclose(stdout);
return ;
}
100分 栈模拟
b
【问题描述】
你是能看到第二题的 friends 呢。
——laekov
Yjq 想要将一个长为?宽为?的矩形棺材(棺材表面绝对光滑,所以棺材可
以任意的滑动)拖过一个 L 型墓道。
如图所示,L 型墓道两个走廊的宽度分别是?和?,呈 90°,并且走廊的长
度远大于?。
现在 Hja 想知道对于给定的?,?,?,最大的?是多少,如果无论如何棺材都
不可能通过,则输出"My poor head =("
【输入格式】
第一行三个用空格分隔的整数?,?,?,意义如题目所示。
【输出格式】
输出最大的可能的?,保留七位小数,如果无论如何棺材都不可能通过,则
输出"My poor head =("。
【样例输入 1】
2 2 1
【样例输出 1】
1.0000000
P100 zhxb
第 4 页 共 5 页
【样例输入 2】
2 2 2
【样例输出 2】
2.0000000
【样例输入 3】
2 2 3
【样例输出 3】
1.3284271
【样例输入 4】
2 2 6
【样例输出 4】
My poor head =(
【数据范围与规定】
对于100%的数据,1 ≤ ?,?,? ≤ 10 4 。
#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
int a,b,l;
double q,e,ans;
int main(){
freopen("b.in","r",stdin);freopen("b.out","w",stdout);
scanf("%d%d%d",&a,&b,&l);
q=sqrt(a*a+b*b);
e=l*1.0/;
ans=min(double(l),q-e);
if(l<=b)ans=max(ans,min(double(a),double(l)));
if(ans<)printf("My poor head =(");
else printf("%.7lf",ans);
fclose(stdin);fclose(stdout);
return ;
}
18分 乱搞
/*
两种情况:
1.在拐角处被卡:以最左下角的点为原点,用矩形与坐标轴相交的两个点可以求出矩形一边的直线的方程,通过右上方点到这个直线的距离可以求出此时的宽度,然后可以转换成一个以宽度为因变量的函数,这个函数是一个单峰函数,用三分求解
2.在拐角处垂直向上移动,直接输出b
*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
int a,b,l;
double get(double v1)
{
double v2=sqrt(l*l-v1*v1);
if (a*v1+b*v2<v1*v2) return -1e+;
else return (a*v1+b*v2-v1*v2)/l;
}
int main()
{
freopen("b.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d%d%d",&a,&b,&l);
if (a>=l && b>=l) printf("%d.0000000\n",l);
else
{
if (a>=l) printf("%d.0000000\n",b);
else
{
if (b>=l) printf("%d.0000000\n",a);
else
{
double lv=0.0,rv=l;
for (int c=;c<=;c++)
{
double m1=(rv-lv)/3.0+lv;
double m2=lv+rv-m1;
if (get(m1)<0.0 || get(m2)<0.0)
{
printf("My poor head =(\n");
return ;
}
if (get(m1)<get(m2)) rv=m2;
else lv=m1;
}
printf("%.7lf\n",get(rv));
}
}
}
return ;
}
100分 三分
c
【问题描述】
你是能看到第三题的 friends 呢。
——aoao
树是个好东西,删掉树一条边要 1 的代价,随便再加一条边有 1 的代价,求
最小的代价把树变成环。
【输入格式】
第一行一个整数?,代表树的点数。
接下来? − 1行,每行两个数代表树的一条边。
【输出格式】
一行一个整数代表答案。
【样例输入】
4
1 2
2 3
2 4
【样例输出】
3
【数据规模与约定】
3。
60%的数据,1 ≤ ? ≤ 10。
对于100%的数据,1 ≤ ? ≤ 100000。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAXN 100010
using namespace std;
int n,num,ans,root;
int into[MAXN],head[MAXN];
struct node{
int to,pre;
}e[MAXN*];
void add(int from,int to){
e[++num].to=to;
e[num].pre=head[from];
head[from]=num;
}
void dfs(int now,int fa){
for(int i=head[now];i;i=e[i].pre){
int to=e[i].to;
if(to!=fa){
dfs(to,now);
if(into[to]>){
into[now]--;
ans+=(into[to]-)*;
}
}
}
}
int main(){
freopen("c.in","r",stdin);freopen("c.out","w",stdout);
scanf("%d",&n);
for(int i=;i<n;i++){
int u,v;
scanf("%d%d",&u,&v);
add(u,v);add(v,u);
into[u]++;
into[v]++;
}
root=;
for(int i=;i<=n;i++)
if(into[i]==){
root=i;
break;
}
dfs(root,-);
cout<<ans+;
}
100分 贪心+暴力
2017-10-3 清北刷题冲刺班p.m的更多相关文章
- 2017-10-4 清北刷题冲刺班p.m
P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两 ...
- 2017-10-4 清北刷题冲刺班a.m
P101zhx a [问题描述]你是能看到第一题的 friends 呢.——hjaHja 拥有一套时光穿梭技术,能把字符串以超越光速的速度传播,但是唯一的问题是可能会 GG.在传输的过程中,可能有四种 ...
- 2017-10-3 清北刷题冲刺班a.m
P99zhx a [问题描述]你是能看到第一题的 friends 呢.——hja怎么快速记单词呢?也许把单词分类再记单词是个不错的选择.何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两 ...
- 2017-10-2 清北刷题冲刺班a.m
一道图论神题 (god) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只 ...
- 2017-10-2 清北刷题冲刺班p.m
最大值 (max) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n ...
- 2017-10-1 清北刷题冲刺班p.m
一道图论好题 (graph) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图 ...
- 2017-10-7 清北刷题冲刺班p.m
测试 A 同花顺 文件名 输入文件 输出文件 时间限制 空间限制card.cpp/c/pas card.in card.out 1s 512MB题目描述所谓同花顺,就是指一些扑克牌,它们花色相同,并且 ...
- 2017-10-7 清北刷题冲刺班a.m
测试 A 消失的数字 文件名 输入文件 输出文件 时间限制 空间限制del.cpp/c/pas del.in del.out 1s 512MB题目描述现在,我的手上有 n 个数字,分别是 a 1 ,a ...
- 2017-10-1 清北刷题冲刺班a.m
位运算1 (bit) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK拥有一个十进制的数N.它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥 ...
随机推荐
- node cluster模块的使用和测试
首先安装async包 用到的有http.cluster包 http和cluster都会node自带的包,无需安装 1:创建cluster.js,代码如下,更具cpu创建多个进程 var cluster ...
- vue2.0使用Sortable.js实现的拖拽功能
简介 在使用vue1.x之前的版本的时候,页面中的拖拽功能,我在项目中是直接用的jQuery ui中的sortable.js,只是在拖拽完成后,在update的回调函数中又重新排序了存放数据的数组.但 ...
- GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS
转载:https://ethanblog.com/tech/all-about-wms-wfs-and-wcs.html 前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoSer ...
- 浏览器对应的selenium版本问题
在selenium+python环境下查看selenium版本方法: cmd下输入:pip show selenium 卸载selenium版本: cmd下输入:pip uninstall selen ...
- Linux_笔记_01_设置静态IP与 SecureCRT连接Linux
步骤一至三,即可设置好静态IP 步骤四至九,使SecureCRT连接Linux 步骤一:编辑ifcfg-eth0 文件 1.打开ifcfg-eth0 文件 使用命令:vi /etc/sysconfig ...
- PL/SQL学习笔记_01_基础:变量、流程控制
PL/SQL语句可以在Oracle客户端的 SQL窗口或者 command 窗口中运行 在SQL窗口中运行步骤同 SQL语句 在command 窗口中运行的步骤如下: 1)File—new com ...
- SQLite优化方法
1.建表优化 SQLite的数据库本质文件读写操作,频繁操作打开和关闭是很耗时和浪费资源的: 优化方法事务机制: 这里要注意一点:事务的开启是要锁定DB的,其他对DB的写入操作都是无法成功的. db. ...
- OpenCV——非线性滤波器
参考: PS 图像特效,非线性滤波器 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_IN ...
- ACM学习历程—CodeForces 590A Median Smoothing(分类讨论 && 数学)
题目链接:http://codeforces.com/problemset/problem/590/A 题目大意是给一个串,头和尾每次变换保持不变. 中间的a[i]变成a[i-1],a[i],a[i+ ...
- ECMAScript基本函数、概念区分总结
1.使用Number()和parseInt() parseFloat()转换区别. 详见<JavaScript高级程序设计>P30 Number()可以针对任何类型. parseInt() ...