Codeforces Round #430 (Div. 2)

题意:给出一个圆环,问有多少个圆完全在内环和外环之间

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N=1e5+10;
 5
 6
 7 int main(){
 8    int r,d;
 9    cin>>r>>d;
10    int n;
11    cin>>n;
12    d=r-d;
13    int x,y,r1;
14    int sum=0;
15    for(int i=1;i<=n;i++){
16         scanf("%d%d%d",&x,&y,&r1);
17         int z=(x*x+y*y);
18         double l=sqrt(z);
19        // printf("%f\n",l);
20         if(l>=(d+r1)*1.0&&(l+r1)*1.0<=r*1.0){
21             sum++;
22         }
23    }
24    cout<<sum<<endl;
25 }
时间: 2024-10-10 05:15:21

Codeforces Round #430 (Div. 2)的相关文章

C - Ilya And The Tree Codeforces Round #430 (Div. 2)

http://codeforces.com/contest/842/problem/C 树 dp 一个数的质因数有限,用set存储,去重 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cmath> 4 #include <cstring> 5 #include <time.h> 6 #include <string> 7 #include <set> 8 #inc

【Codeforces Round #430 (Div. 2) A C D三个题】

·不论难度,A,C,D自己都有收获! [A. Kirill And The Game] ·全是英文题,述大意:    给出两组区间端点:l,r,x,y和一个k.(都是正整数,保证区间不为空),询问是否在[x,y]区间内存在一个整数p,使得p*k属于[l,r],如果存在,则输出'YES',否则输出'NO'.(1<=l,r,x,y<=107) ·分析:     首先看见了107,发现可以直接O(n)暴力枚举:枚举区间[x,y]的所有数,判断它与k的乘积是否在[l,r]中就可以了.从容AC:    

Codeforces Round #430 (Div. 2) C

题意:一棵树,问每个点到1节点这条链的所有数字的gcd,可删除某个数,每个链单独处理 思路:暴力存,可删除重复的,可百度unique的具体用法 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=2e5+10; 4 5 int a[N],dp[N],b[N]; 6 vector<int > e[N],g[N]; 7 8 void dfs(int u,int fa){ 9 for(int i=0;i<e[

Codeforces Round #430 (Div. 2) A

题意:给你药水经验的区间和成本的区间,问是否有一个比例完全==k 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N=1e5+10; 5 6 double l,r,x,y,k; 7 int main(){ 8 scanf("%lf%lf%lf%lf%lf",&l,&r,&x,&y,&k); 9 for(int i=

Codeforces Round #428 (Div. 2)

Codeforces Round #428 (Div. 2) A    看懂题目意思就知道做了 #include<bits/stdc++.h> using namespace std; #pragma comment(linker, "/STACK:102400000,102400000") #define rep(i,a,b) for (int i=a; i<=b; ++i) #define per(i,b,a) for (int i=b; i>=a; --i

Codeforces Round #424 (Div. 2) D. Office Keys(dp)

题目链接:Codeforces Round #424 (Div. 2) D. Office Keys 题意: 在一条轴上有n个人,和m个钥匙,门在s位置. 现在每个人走单位距离需要单位时间. 每个钥匙只能被一个人拿. 求全部的人拿到钥匙并且走到门的最短时间. 题解: 显然没有交叉的情况,因为如果交叉的话可能不是最优解. 然后考虑dp[i][j]表示第i个人拿了第j把钥匙,然后 dp[i][j]=max(val(i,j),min(dp[i-1][i-1~j]))   val(i,j)表示第i个人拿

Codeforces Round #424 (Div. 2) C. Jury Marks(乱搞)

题目链接:Codeforces Round #424 (Div. 2) C. Jury Marks 题意: 给你一个有n个数序列,现在让你确定一个x,使得x通过挨着加这个序列的每一个数能出现所有给出的k个数. 问合法的x有多少个.题目保证这k个数完全不同. 题解: 显然,要将这n个数求一下前缀和,并且排一下序,这样,能出现的数就可以表示为x+a,x+b,x+c了. 这里 x+a,x+b,x+c是递增的.这里我把这个序列叫做A序列 然后对于给出的k个数,我们也排一下序,这里我把它叫做B序列,如果我

[Codeforces] Round #352 (Div. 2)

人生不止眼前的狗血,还有远方的狗带 A题B题一如既往的丝帛题 A题题意:询问按照12345678910111213...的顺序排列下去第n(n<=10^3)个数是多少 题解:打表,输出 1 #include<bits/stdc++.h> 2 using namespace std; 3 int dig[10],A[1005]; 4 int main(){ 5 int aa=0; 6 for(int i=1;;i++){ 7 int x=i,dd=0; 8 while(x)dig[++dd

Codeforces Round #273 (Div. 2)

Codeforces Round #273 (Div. 2) 题目链接 A:签到,仅仅要推断总和是不是5的倍数就可以,注意推断0的情况 B:最大值的情况是每一个集合先放1个,剩下都丢到一个集合去,最小值是尽量平均去分 C:假如3种球从小到大是a, b, c,那么假设(a + b) 2 <= c这个比較明显答案就是a + b了.由于c肯定要剩余了,假设(a + b)2 > c的话,就肯定能构造出最优的(a + b + c) / 3,由于肯定能够先拿a和b去消除c,而且控制a和b成2倍关系或者消除