2016年安徽省程序设计竞赛 水题C,D,E 题解
A,B太水了就不寫了- -
感覺思路都挺清楚的,不多解釋了
C.轉(zhuǎn)啊轉(zhuǎn)
| Time Limit: 1000 MS | Memory Limit: 65536 KB |
| Total Submissions: 7 | Accepted: 2 |
Description
在二維平面上,有一個固定的圓和一個固定的點(保證該點不在圓上),還有一個動點在圓上以角速度 w繞圓心一直轉(zhuǎn)。在t時刻,連接該動點與定點成一條直線k,求直線k被圓所截線段的長度(即直線k在圓內(nèi)部分長度)。
?????????動點初始時刻在圓的三點鐘方向(即與x軸正方向平行),并以逆時針方向繞圓轉(zhuǎn)。
?
??
Input
???????先輸入一個整數(shù)T,表示T(T<50)組數(shù)據(jù)。
每組數(shù)據(jù)一行七個實數(shù)a,b,r(r>0),x,y,w(w>=0),t(t>=0)?分別表示圓的圓心坐標(a,b),半徑r,固定點坐標(x,y),角速度w,要查詢的時刻t。
????上述所有數(shù)據(jù)的絕對值小于10000。
Output
?????????輸出答案占一行,保留2位小數(shù)。
Sample Input
1
1?1?1?3?1?3?0
Sample Output
2.00
Hint
角速度定義:
一個以弧度為單位的圓(一個圓周為2π,即:360度=2π),在單位時間內(nèi)所走的弧度即為角速度。
D.梯田AGAIN
| Time Limit: 1000 MS | Memory Limit: 65536 KB |
| Total Submissions: 1 | Accepted: 1 |
Description
大家還記得去年的梯田嗎?土豪YZK在一塊小島上有著一大片n*m的梯田,每塊1*1的田地都有它的高度。奴隸們不甘被YZK剝削,他們聯(lián)合起來決定發(fā)動一場海嘯淹掉YZK的部分梯田。
奴隸們?nèi)ツ陣L試了一下,結果發(fā)現(xiàn),由于土質(zhì)太過松軟,水能夠透過土地滲入到相鄰的梯田,即對于海嘯高度h,梯田中所有小于等于h的土地都會由于土質(zhì)松軟而被被淹沒。
現(xiàn)在給你一個n*m的矩陣,代表梯田中每塊田地的高度。然后給定q個詢問,每個詢問給定一個海嘯高度h,問在此高度下,不被淹沒的梯田數(shù)量是多少。
Input
第一行一個整數(shù)T,表示測試數(shù)據(jù)組數(shù)。
對于每組測試數(shù)據(jù):
第一行三個數(shù)字n,m,q,表示梯田的行數(shù),列數(shù)和詢問數(shù)。
之后n行,每行m個數(shù)字,表示每塊田地的高度,梯田高度不大于1000000。
之后q行,每行給出一個海嘯高度h,問大于這個高度的梯田有多少塊。
0<T<20。
0<n,m<=200。
0<=q<1000。
0<=h<=1000000.
Output
對于每個詢問,給出一個整數(shù),表示大于這個海嘯高度的梯田數(shù)量。
Sample Input
2
2?2?2
1?2
3?4
2
3
2?3?3
1?2?3
3?4?5
0
4
5
Sample Output
?2
1
6
1
0
#include<bits/stdc++.h> using namespace std; typedef long long LL; typedef long double LD; const double pi = acos(-1.0); ////// int main(int argc, char**argv) {ios_base::sync_with_stdio(0); cin.tie(0);//freopen("input.txt", "r", stdin);//freopen("output.txt", "w", stdout);int T;cin>>T;while(T--){int m,n,q;cin>>n;cin>>m;cin>>q;int st[40010];for(int i=1;i<=m*n;i++){cin>>st[i];}sort(st+1,st+1+m*n);while(q--){int L;cin>>L;int h=upper_bound(st+1,st+1+m*n,L)-(st+1);cout<<m*n-h<<"\n";}}//system("pause");return 0;} //END
E.箭無虛發(fā)
| Time Limit: 1000 MS | Memory Limit: 65536 KB |
| Total Submissions: 2 | Accepted: 1 |
Description
JH苦練10年,終于成為了一個神箭手,在下山之前,大師兄YZ不放心,想考驗他,只給他一定時間t,同時給他n支箭,最終根據(jù)他的表現(xiàn),考慮他是否能下山。
???????對于每發(fā)一次箭,YZ給他4種成績(優(yōu)、良、中、差),JH有三種拉弓以及瞄準時間a ,b,c(a>=b>=c)分別能拿優(yōu),良,中等級,如果不拉弓不瞄(直接射),只能拿差(不能中靶)了。
???????現(xiàn)在JH想知道,在保證自己彈無虛發(fā)(不獲得差)的情況下,最多能拿多少個優(yōu)。
???????如果JH不能做到彈無虛發(fā),輸出Oh,my god!?
Input
輸入數(shù)據(jù)包含T組:
???????對于每組數(shù)據(jù),第一行為一個整數(shù)n,表示總共有n支箭。
(0<n<=1000)
???????之后n行,每行包含三個數(shù)字a,b,c,分別表示拿對應等級所需要花的時間。
?????? (0<c<=b<=a<=1000)
之后一個數(shù)字t,表示JH有考核總時間為t
?????? (0<=t<=1e6)
Output
對于每組輸入,如果JH能箭無虛發(fā),則輸出一個數(shù)字x,表示最多能拿到的優(yōu)的數(shù)量。如果不能,則輸出Oh,my god!
Sample Input
3
1
3?2?1
1
2
3?2?1
3?2?1
4
2
3?2?1
3?2?1
1
Sample Output
0
1
Oh,my?god!
總結
以上是生活随笔為你收集整理的2016年安徽省程序设计竞赛 水题C,D,E 题解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序如何获取用户名和头像?
- 下一篇: 证件照背景颜色怎么用手机换