Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)
昨晚打得小号,虽然很菜,可是还是涨了些rating
1 second
256 megabytes
standard input
standard output
Arpa is researching the Mexican wave.
There are n spectators in the stadium, labeled from 1 to n. They start the Mexican wave at time 0.
- At time 1, the first spectator stands.
- At time 2, the second spectator stands.
- ...
- At time k, the k-th spectator stands.
- At time k + 1, the (k + 1)-th spectator stands and the first spectator sits.
- At time k + 2, the (k + 2)-th spectator stands and the second spectator sits.
- ...
- At time n, the n-th spectator stands and the (n - k)-th spectator sits.
- At time n + 1, the (n + 1 - k)-th spectator sits.
- ...
- At time n + k, the n-th spectator sits.
Arpa wants to know how many spectators are standing at time t.
The first line contains three integers n, k, t (1 ≤ n ≤ 109, 1 ≤ k ≤ n, 1 ≤ t < n + k).
Print single integer: how many spectators are standing at time t.
10 5 3
3
10 5 7
5
10 5 12
3
In the following a sitting spectator is represented as -, a standing spectator is represented as ^.
- At t = 0 ----------
number of standing spectators = 0. - At t = 1 ^---------
number of standing spectators = 1. - At t = 2 ^^--------
number of standing spectators = 2. - At t = 3 ^^^-------
number of standing spectators = 3. - At t = 4 ^^^^------
number of standing spectators = 4. - At t = 5 ^^^^^-----
number of standing spectators = 5. - At t = 6 -^^^^^----
number of standing spectators = 5. - At t = 7 --^^^^^---
number of standing spectators = 5. - At t = 8 ---^^^^^--
number of standing spectators = 5. - At t = 9 ----^^^^^-
number of standing spectators = 5. - At t = 10 -----^^^^^
number of standing spectators = 5. - At t = 11 ------^^^^
number of standing spectators = 4. - At t = 12 -------^^^
number of standing spectators = 3. - At t = 13 --------^^
number of standing spectators = 2. - At t = 14 ---------^
number of standing spectators = 1. - At t = 15 ----------
number of standing spectators = 0.
这个题我还看了两三分钟,发现就是个分段函数,结论很明显
不过我竟脑残打错了字母,wa了一发
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,k,t;
cin>>n>>k>>t;
if(t<=k)
cout<<t<<endl;
else if(t>=n)
cout<<n+k-t<<endl;
else cout<<k<<endl;
return ;
}
2 seconds
256 megabytes
standard input
standard output
Arpa is taking a geometry exam. Here is the last problem of the exam.
You are given three points a, b, c.
Find a point and an angle such that if we rotate the page around the point by the angle, the new position of a is the same as the old position of b, and the new position of b is the same as the old position of c.
Arpa is doubting if the problem has a solution or not (i.e. if there exists a point and an angle satisfying the condition). Help Arpa determine if the question has a solution or not.
The only line contains six integers ax, ay, bx, by, cx, cy (|ax|, |ay|, |bx|, |by|, |cx|, |cy| ≤ 109). It's guaranteed that the points are distinct.
Print "Yes" if the problem has a solution, "No" otherwise.
You can print each letter in any case (upper or lower).
0 1 1 1 1 0
Yes
1 1 0 0 1000 1000
No
In the first sample test, rotate the page around (0.5, 0.5) by
.
In the second sample test, you can't find any solution.
这个也简单,给你三个点,让你判断a,b能不能绕着一个点转到b,c的位置,明显就是等腰三角形嘛
但是不能共线,这个自己也fst了,比较好的做法是判断b不是中点
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long ax,ay,bx,by,cx,cy;
cin>>ax>>ay>>bx>>by>>cx>>cy;
long long a=(ax-bx)*(ax-bx)+(ay-by)*(ay-by);
long long b=(cx-bx)*(cx-bx)+(cy-by)*(cy-by);
if(a==b&&(cx+ax!=*bx||cy+ay!=*by))
puts("Yes");
else puts("No");
return ;
}
我现在发现是我斜率公式交换的时候写错了啊,改了字母就过了。我好菜啊
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long ax,ay,bx,by,cx,cy;
cin>>ax>>ay>>bx>>by>>cx>>cy;
if((ax-bx)*(ax-bx)+(ay-by)*(ay-by)==(cx-bx)*(cx-bx)+(cy-by)*(cy-by)&&(cy-ay)*(bx-ax)!=(by-ay)*(cx-ax))
puts("Yes");
else puts("No");
return ;
}
2 seconds
256 megabytes
standard input
standard output
You are given set of n points in 5-dimensional space. The points are labeled from 1 to n. No two points coincide.
We will call point a bad if there are different points b and c, not equal to a, from the given set such that angle between vectors
and
is acute (i.e. strictly less than
). Otherwise, the point is called good.
The angle between vectors
and
in 5-dimensional space is defined as
, where
is the scalar product and
is length of
.
Given the list of points, print the indices of the good points in ascending order.
The first line of input contains a single integer n (1 ≤ n ≤ 103) — the number of points.
The next n lines of input contain five integers ai, bi, ci, di, ei (|ai|, |bi|, |ci|, |di|, |ei| ≤ 103) — the coordinates of the i-th point. All points are distinct.
First, print a single integer k — the number of good points.
Then, print k integers, each on their own line — the indices of the good points in ascending order.
6
0 0 0 0 0
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1
1
3
0 0 1 2 0
0 0 9 2 0
0 0 5 9 0
0
In the first sample, the first point forms exactly a
angle with all other pairs of points, so it is good.
In the second sample, along the cd plane, we can see the points look as follows:

We can see that all angles here are acute, so no points are good.
给了五维坐标系,拿出了累似二维的东西,但是1e9可以跑下来么,这时候qls给了一个243的结论牛逼啊
这个题自己写错了break条件导致写了太久了,虽然中途还看了B,但是这个题分数已经掉光了
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+;
double PI=acos(0.0);
struct Point
{
int a,b,c,d,e;
} f[];
int main()
{
int n;
scanf("%d",&n);
if(n>)
printf("0\n");
else
{
for(int i=; i<n; i++)
scanf("%d%d%d%d%d",&f[i].a,&f[i].b,&f[i].c,&f[i].d,&f[i].e);
vector<int>V;
for(int i=; i<n; i++)
{
int ff=;
for(int j=; j<n; j++)
{ Point x;
if(j==i)continue;
x.a=f[j].a-f[i].a;
x.b=f[j].b-f[i].b;
x.c=f[j].c-f[i].c;
x.d=f[j].d-f[i].d;
x.e=f[j].e-f[i].e;
for(int k=; k<n; k++)
{
Point y;
if(j==i||k==j)continue;
y.a=f[k].a-f[i].a;
y.b=f[k].b-f[i].b;
y.c=f[k].c-f[i].c;
y.d=f[k].d-f[i].d;
y.e=f[k].e-f[i].e;
int z=y.a*x.a+y.b*x.b+y.c*x.c
+y.d*x.d+y.e*x.e;
if(z>)
{
ff=;
break;
}
}
if(ff)break;
}
if(!ff)
V.push_back(i+);
}
printf("%d\n",(int)V.size());
for(int i=; i<(int)V.size(); i++)
printf("%d\n",V[i]);
}
return ;
}
Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)的更多相关文章
- D. Arpa and a list of numbers Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)
http://codeforces.com/contest/851/problem/D 分区间操作 #include <cstdio> #include <cstdlib> # ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)ABCD
A. Arpa and a research in Mexican wave time limit per test 1 second memory limit per test 256 megaby ...
- Codeforces Round #432 (Div. 1, based on IndiaHacks Final Round 2017) D. Tournament Construction(dp + 构造)
题意 一个竞赛图的度数集合是由该竞赛图中每个点的出度所构成的集合. 现给定一个 \(m\) 个元素的集合,第 \(i\) 个元素是 \(a_i\) .(此处集合已经去重) 判断其是否是一个竞赛图的度数 ...
- 【前缀和】【枚举倍数】 Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) D. Arpa and a list of numbers
题意:给你n个数,一次操作可以选一个数delete,代价为x:或者选一个数+1,代价y.你可以进行这两种操作任意次,让你在最小的代价下,使得所有数的GCD不为1(如果全删光也视作合法). 我们从1到m ...
- 【推导】【暴力】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) C. Five Dimensional Points
题意:给你五维空间内n个点,问你有多少个点不是坏点. 坏点定义:如果对于某个点A,存在点B,C,使得角BAC为锐角,那么A是坏点. 结论:如果n维空间内已经存在2*n+1个点,那么再往里面添加任意多个 ...
- 【推导】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B. Arpa and an exam about geometry
题意:给你平面上3个不同的点A,B,C,问你能否通过找到一个旋转中心,使得平面绕该点旋转任意角度后,A到原先B的位置,B到原先C的位置. 只要A,B,C构成等腰三角形,且B为上顶点.那么其外接圆圆心即 ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) D
Arpa has found a list containing n numbers. He calls a list bad if and only if it is not empty and g ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) C
You are given set of n points in 5-dimensional space. The points are labeled from 1 to n. No two poi ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B
Arpa is taking a geometry exam. Here is the last problem of the exam. You are given three points a, ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) A
Arpa is researching the Mexican wave. There are n spectators in the stadium, labeled from 1 to n. Th ...
随机推荐
- mongodb sort
sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序.要指定排序顺序1和-1. 1用于升序排列, ...
- 【学习笔记】CSS优先级规则
CSS的优先级规则很多地方的说法都是错误的,常见错误说法是inline css>内部样式>外部样式,其实并没有这种规定.真正的CSS优先级确定是通过特性值大小确定的,在特性值大小相同的情况 ...
- VUE学习,vue运行环境搭建遇见的小问题
1.使用vscode来编辑项目,那么首先给它搭一个vue运行的环境,打开集成终端,使用npm install live-server -g安装live-server. problem1:cmd终端分行 ...
- Vue实例的4个常用选项
1.过滤器 filters:在不改变的data的情况下输出前端页面需要的格式数据.例如将小数过滤为整数等.filters是一个对象,里边定义一个function方法,function传入一个参数,fu ...
- sqlite的应用
对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取.下面就向大家介绍一下SQLite常用的操作方法.本篇文章主要用到SQLiteDataba ...
- 源文件名长度大于系统支持的长度,无法删除,java主方法执行方式删除
import java.io.File; /** * @author 海盗船长 * 2017年2月14日11:24:26 */ public class DeleteFiles { public st ...
- show processlist使用介绍
这个命令中最关键的就是state列,mysql列出的状态主要有以下几种: Checking table 正在检查数据表(这是自动的).Closing tables 正在将表中修改的数据刷新到磁盘中,同 ...
- C# 语句 分支语句
语句是指程序命令,按照顺序执行.可以分为 顺序语句 分支语句 循环语句 之前学习的内容都是按照顺序程序执行的,称之为顺序语句. 今天学的的内容是分支语句. 语句可以嵌套,可以是以分号结尾的单行 ...
- JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
我写的程序员面试系列文章 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Jav ...
- spark简单入门
本文由cmd markdown编辑,原始链接:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spa ...