UCF Local Programming Contest 2015 A~~H
时间:2022-07-24
本文章向大家介绍UCF Local Programming Contest 2015 A~~H,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
A 水题:
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
int a[15];
int main(){
int t;
cin>>t;
while(t--){
bool flag1 =0;
bool flag2 =0;
for(int i=1;i<=10;i++){
cin>>a[i];
if(a[i] == 18) flag1 = 1;
if(a[i] == 17) flag2 = 1;
}
for(int i=1;i<10;i++)
cout<<a[i]<<" ";
cout<<a[10]<<endl;
if(flag1 && flag2) cout<<"both"<<endl;
if(!flag1 && !flag2) cout<<"none"<<endl;
if(!flag1 && flag2) cout<<"zack"<<endl;
if(flag1 && !flag2) cout<<"mack"<<endl;
cout<<endl;
}
return 0;
}
B 水题
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
bool flag1 = 0;
bool flag2 = 0;
int a,b,c;
int x,y,z;
cin>>a>>b>>c>>x>>y>>z;
int num1 = a+b+c;
int num2 = x+y+z;
if(num1 > num2) flag1 = 1;
if(a > x) flag2 = 1;
else if(a == x && b > y) flag2 = 1;
else if(a == x && b == y && c > z) flag2 = 1;
else
flag2 = 0;
cout<<a<<" "<<b<<" "<<c<<" "<<x<<" "<<y<<" "<<z<<endl;
if(flag1 && flag2) cout<<"both"<<endl;
if(!flag1 && !flag2) cout<<"none"<<endl;
if(!flag1 && flag2) cout<<"color"<<endl;
if(flag1 && !flag2) cout<<"count"<<endl;
cout<<endl;
}
return 0;
}
C 水题:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=500010;
int main(){
int t;
cin>>t;
while(t--){
int xx=1;
int n,sum,m;
cin>>n>>sum>>m;
printf("Practice #%d: %d %dn",xx++,n,sum);
int sum1=sum;
while(m--)
{
int x,y; cin>>x;
if(x<sum)
{
sum-=x;
}
else
{
while(sum<=x)
sum=sum*2;
sum-=x;
}
cout<<x<<" "<<sum<<endl;
}
cout<<endl;
}
return 0;
}
D.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
ll ans;
int t,num[100];
int main()
{
cin>>t;
while(t--)
{
int n,m,x,s,aa[2000],bb[2000],c[2000];
cin>>n>>x>>s;
int l[2000],lr=0x3f3f3f3f,rr=0x3f3f3f3f;
for (int i=1;i<=n;i++)
cin>>aa[i]>>bb[i]>>c[i];
vector<pair<int,int> > ve;
m=0;
for(int i=1;i<=n;i++){
if(bb[i]>=lr){
l[i]=lr;
}
else{
lr=bb[i];
l[i]=bb[i];
}
if(c[i]>=rr)
m+=aa[i]*s;
else{
if(rr!=0x3f3f3f3f)
ve.push_back({m,rr});
rr=c[i];m=aa[i]*s;
}
}
if(m)
ve.push_back({m,rr});
ans=0;
for(int i=1;i<=n;i++){
ans+=(1ll*aa[i]*x*l[i]);
}
m=0;
for(int i=0;i<ve.size();i++)
{
int d=ve[i].first,e=ve[i].second;
int res=max((d-m+79),0)/80;
ans+=res*e;
m=m+res*80-d;
}
cout<<ans<<endl;
}
return 0;
}
E 分情况讨论
#include<bits/stdc++.h>
#define PI 3.14159265358979
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
double z,y;
cin>>z>>y;
if(z >= 2*y){
printf("%.2lfn",PI*y*y);
}
else if( 4*y*y >= 2*z*z ){
printf("%.2lfn",z*z);
}
else{
double st = (y*y)/2.0 * (PI/180.0)* 2 *(180.0*acos((z/2.0) * y)/PI )- (z*z/4.0 * sqrt(y*y-z*z/4.0))/2.0;
printf("%.2lfn",y*y - 4 * st);
}
}
return 0;
}
F
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
string s;
int n,t,m;
int main()
{
int T=1;
cin>>t;
while(t--){
printf("String #%d: ",T++);
cin>>s;
int a[2000];
for(int i=0;i<s.size();i++)
if(s[i]=='?') a[i]=-1;
else if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||'u'==s[i]||s[i]=='y') a[i]=0;
else a[i]=1;
int xx=-1;
for(int i=0;i<s.size();i++)
if(a[i]!=-1){
xx=i;
break;
}
ll ans=1;
if(xx!=-1){
for(int i=xx-1;i>=0;i--){
if(a[i]==1-a[i+1])
continue;
else if(a[i]==-1){
ans=ans*(a[i+1]==0?20:6);
a[i]=1-a[i+1];
}
else ans=0;
}
for(int i=xx+1;i<s.size();i++){
if(a[i]==1-a[i-1]) continue;
else if(a[i]==-1){
ans=ans*(a[i-1]==0?20:6);
a[i]=1-a[i-1];
}
else ans=0;
}
cout<<ans<<endl;
}
else{
int x=s.size()/2,y=s.size()-x;
ll res1=1,res2=1;
for(int i=0;i<x;i++){
res1*=6;
res2*=20;
}
for(int i=0;i<y;i++){
res1*=20;
res2*=6;
}
cout<<res1+res2<<endl;
}
cout<<endl;
}
return 0;
}
G
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
int main(){
int t;cin>>t;
int xx=1;
while(t--){
int flag=1;
int d,n;cin>>d>>n;
if(d-1>(n-1)*(n-1))
printf("Grid #%d: impossiblen",xx++);
else
printf("Grid #%d: %dn",xx++,((n-1)+(n-1))*d);
if(t)
cout<<endl;
}
return 0;
}
H 样例过了,W
#include<bits/stdc++.h>
using namespace std;
char a[102][102];
bool vis[102][102];
int main(){
int t;
cin>>t;
int k = 1;
while(t--){
cout<<"Image#"<<" "<<k<<":"<<" ";
for(int i=0;i<=100;i++){
for(int j=0;j<=100;j++){
a[i][j] = '.';
vis[i][j] = 0;
}
}
int x,y;
cin>>x>>y;
bool flag = 0;
for(int i=1;i<=x;i++){
for(int j=1;j<=y;j++){
cin>>a[i][j];
if(a[i][j] == '#')
flag = 1;
}
}
if(!flag){
cout<<"0"<<endl;
cout<<endl;
k++;
continue;
}
int num = 0;
for(int i=1;i<=x;i++){
for(int j=1;j<=y;j++){
if(a[i][j] == '#'&&a[i][j+1] == '#'&&a[i-1][j+1] == '#'&&a[i+1][j+1] == '#'&&a[i][j+2] == '#'){
if(vis[i][j]==0||vis[i][j+1]==0||vis[i-1][j+1]==0||vis[i+1][j+1]==0||vis[i][j+2]==0){
num++;
vis[i][j] = 1;
vis[i][j+1] = 1;
vis[i-1][j+1] = 1;
vis[i+1][j+1] = 1;
vis[i][j+2] = 1;
}
}
}
}
if(!num&&flag){
cout<<"impossible"<<endl;
cout<<endl;
k++;
continue;
}
cout<<num<<endl;
cout<<endl;
k++;
}
}
大佬题解:DFS搜索加剪枝
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 通过SSH连接本地linux虚拟机的过程记录
- 实现Android 获取cache缓存的目录路径的方法
- Android 消息分发使用EventBus的实例详解
- 详解Android实现定时器的几种方法
- Android 实现带进度条的WebView的实例
- Android单元测试之对Activity的测试示例
- Android开发之手势检测及通过手势实现翻页功能的方法
- Android开发之CheckBox的简单使用与监听功能示例
- Android将图片上传到php服务器的实例代码
- Android图片识别应用详解
- Android 列表形式的切换的示例代码
- Android 拍照并对照片进行裁剪和压缩实例详解
- Android 多线程实现重复启动与停止的服务
- Android 简单的图片查看器源码实现
- jmeter在linux系统下运行及本地内存调优的方法详解