2016 Al-Baath University Training Camp Contest-1
| 2016 Al-Baath University Training Camp Contest-1 |
|---|
A题:http://codeforces.com/gym/101028/problem/A
题意:比赛初始值是1500,变化了几次,得到的正确结果和bug后的是否相等。(Tourist大佬好 Y(^o^)Y)
#include <bits/stdc++.h> using namespace std; int main()
{
int t;
cin>>t;
while(t--) {
int n,r;
cin>>n>>r; int sum = ;
for(int i=;i<n;i++)
{
int x;
cin>>x;
sum+=x;
} if(sum==r)
puts("Correct");
else puts("Bug"); }
return ;
}
A. Codeforces Rating
B题:http://codeforces.com/gym/101028/problem/B
题意:b,p不分,i,e不分,大小写不分,看两个字符串是不是正确的。
#include <bits/stdc++.h> using namespace std; char str1[],str2[]; int main()
{
int t;
cin>>t;
while(t--) {
scanf("%s%s",str1,str2); int len = strlen(str1); if(strlen(str1)!=strlen(str2)) {
puts("No");
continue;
} for(int i=;i<len;i++)
{
if(str1[i]>='A'&&str1[i]<='Z')
str1[i] = 'a' + str1[i] - 'A'; if(str2[i]>='A'&&str2[i]<='Z')
str2[i] = 'a' + str2[i] - 'A';
} bool flag = true;
for(int i=;i<len;i++) {
if(str1[i]!=str2[i]) {
if(str1[i]=='b'&&str2[i]=='p')
continue;
if(str1[i]=='p'&&str2[i]=='b')
continue;
if(str1[i]=='i'&&str2[i]=='e')
continue;
if(str1[i]=='e'&&str2[i]=='i')
continue;
flag = false;
break;
}
} if(flag)
puts("Yes");
else puts("No"); }
return ;
}
B. Bonapity
C题:http://codeforces.com/gym/101028/problem/C
题意:已知A,B,求C有多少种情况满足这个式子:

比赛的时候,很多同学没有看到取模,用java干;
#include <bits/stdc++.h> using namespace std; int main()
{
int t;
cin>>t;
while(t--) {
int len;
cin>>len;
int a[],b[];
char stra[],strb[];
scanf("%s%s",stra,strb);
for(int i=;i<len;i++)
{
a[i] = stra[i]-'';
b[i] = strb[i]-'';
}
unsigned long long ans = ;
bool flag = true;
for(int i=;i<len;i++) {
if(a[i]==&&b[i]==)
continue;
if(a[i]==&&b[i]==)
continue;
if(a[i]==&&b[i]==){
flag = false;
break;
}
if(a[i]==&&b[i]==)
ans = ans*%;
}
if(flag)
cout<<ans<<endl;
else puts("IMPOSSIBLE");
} return ;
}
C. A or B Equals C
D题:http://codeforces.com/gym/101028/problem/D
题意:画图
#include <bits/stdc++.h> using namespace std; char maps[][]; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(maps,'.',sizeof(maps)); int r,c,n;
cin>>r>>c>>n; while(n--)
{ int r1, c1, r2, c2;
char x;
cin>>r1>>c1>>r2>>c2>>x; for(int i=r1; i<=r2; i++)
{
for(int j=c1; j<=c2; j++)
{
maps[i][j] = x;
}
} }
for(int i=; i<=r; i++)
{
for(int j=; j<=c; j++)
printf("%c",maps[i][j]);
puts("");
} }
return ;
}
D. X and paintings
E题:http://codeforces.com/gym/101028/problem/E
题意:n个数的最大公约数
#include <bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f; int main()
{
int t;
int a[];
scanf("%d",&t);
while(t--) {
int minx = inf;
int n;
scanf("%d",&n);
for(int i=;i<n;i++) {
scanf("%d",&a[i]);
minx = min(minx,a[i]);
} int k;
for(k=minx;k>=;k--) {
bool flag = true;
for(int i=;i<n;i++) {
if(a[i]%k!=) {
flag = false;
break;
}
}
if(flag)
break;
}
int num = ;
for(int i=;i<n;i++)
num+=(a[i]/k);
printf("%d %d\n",k,num); }
return ;
}
E. Teams
F题:http://codeforces.com/gym/101028/problem/F
题意:字符串匹配(朴素匹配就ok了)
#include <bits/stdc++.h> using namespace std;
char str1[],str2[];
int main()
{
int t;
cin>>t;
while(t--)
{
scanf("%s%s",str1,str2);
int len = strlen(str1); char op[][];
memset(op,,sizeof(op)); for(int i=; i<; i++)
{
int k=;
for(int j=; j<; j++)
{
if(i!=j)
op[i][k++] = str2[j];
}
} // for(int i=0;i<4;i++) {
// for(int j=0;j<3;j++)
// printf("%c",op[i][j]);
// puts("");
// } bool good = false;
for(int i=; i<len-; i++)
{
if(str1[i]==str2[]&&str1[i+]==str2[]&&str1[i+]==str2[]&&str1[i+]==str2[])
{
good = true;
break;
}
} if(good)
{
puts("good");
continue;
} bool al = false;
for(int i=; i<len-; i++)
{
if(str1[i]==op[][]&&str1[i+]==op[][]&&str1[i+]==op[][])
{
al = true;
break;
}
} if(al)
{
puts("almost good");
continue;
} al = false;
for(int i=; i<len-; i++)
{
if(str1[i]==op[][]&&str1[i+]==op[][]&&str1[i+]==op[][])
{
al = true;
break;
}
} if(al)
{
puts("almost good");
continue;
} al = false;
for(int i=; i<len-; i++)
{
if(str1[i]==op[][]&&str1[i+]==op[][]&&str1[i+]==op[][])
{
al = true;
break;
}
} if(al)
{
puts("almost good");
continue;
} al = false;
for(int i=; i<len-; i++)
{
if(str1[i]==op[][]&&str1[i+]==op[][]&&str1[i+]==op[][])
{
al = true;
break;
}
} if(al)
{
puts("almost good");
continue;
} puts("none"); }
return ;
}
F. Good Words
G题:http://codeforces.com/gym/101028/problem/G
题意:从左上角砸东西到目的地,途中碰壁。看可以不可以砸到目标。和省赛的球的碰撞类似。

#include <bits/stdc++.h> using namespace std; int main()
{
int t;
cin>>t;
while(t--) { int h,w,d;
cin>>h>>w>>d; int x = (h-)/(w-); //x个单周期
int mod = (h-)%(w-); int md;
if(x%==)
md = + mod;
else md = w - mod ; if(md==d)
puts("Yes");
else puts("No"); }
return ;
}
G. The Tower of Evil
H题:http://codeforces.com/gym/101028/problem/H
做到这里的时候,脑子已经晕掉了,题目也没怎么看清楚。
题意:n长的河流,两个人的速度是d,r,在start的位置不标记,求第一次踩到对方标记的时间。

#include <bits/stdc++.h> using namespace std; int v1[];
int v2[]; int main()
{
int t;
cin>>t;
while(t--)
{
memset(v1,,sizeof(v1));
memset(v2,,sizeof(v2));
int n,d,r;
cin>>n>>d>>r; int ans = ;
int td = d;
int tr = r;
v1[td] = ;
v2[tr] = ;
while(true)
{
if(v2[td]==true||v1[tr]==true)
{
break;
}
ans++;
td = (td + d)%n;
tr = (tr + r)%n;
v1[td] = true;
v2[tr] = true;
}
printf("%d\n",ans); }
return ;
}
H. The Endless River
I题:http://codeforces.com/gym/101028/problem/I
题意:屋顶有漏洞,用k个布去补洞,其中最长的布,使其最短。

二分啊!
#include <bits/stdc++.h> using namespace std; int a[];
int n,k;
int maxx;
bool calc(int x) {
int cur = ;
for(int i=;i<k;i++) {
if(cur==)
cur = cur + a[] + x -;
else {
for(int i=;i<n;i++) {
if(a[i]>cur)
{
cur = a[i];
break;
}
}
cur = cur + x -;
}
}
if(cur>=a[n-])
return true;
return false;
} int main()
{
int t;
cin>>t;
while(t--) {
cin>>n>>k;
for(int i=;i<n;i++)
scanf("%d",&a[i]);
maxx = a[n-];
int l=;
int r=a[n-]/k+;
while(l<r) {
int m = (r+l)/;
if(calc(m))
r=m;
else l = m+;
}
printf("%d\n",l);
}
return ;
}
I. March Rain
J题:http://codeforces.com/gym/101028/problem/J
题意:
一个数列a,他的最大的2i 的因子,由 i 组成的一个数列。
找一些a,他是递增的基础上,i 之和最大。
dp啊!

#include <bits/stdc++.h> using namespace std; int a[];
int as[];
int b[];
int dp[]; int main()
{
int t;
cin>>t;
while(t--)
{
memset(b,,sizeof(b));
memset(dp,,sizeof(dp)); int n;
cin>>n;
for(int i=; i<n; i++) {
cin>>a[i];
as[i] = a[i];
} for(int i=; i<n; i++)
{
while(as[i]%==)
{
b[i]++;
as[i] /=;
}
} dp[] = b[]; for(int i=; i<n; i++)
{
int k = ;
for(int j=; j<i; j++)
{
if(a[j]<a[i]&&k<dp[j])
{
k = dp[j];
}
}
dp[i] = k+b[i];
} int ans = -;
for(int i=; i<n; i++)
{
ans = max(ans,dp[i]);
}
cout<<ans<<endl; } return ;
}
J. X and Beasts
最后贴一下Rank.

2016 Al-Baath University Training Camp Contest-1的更多相关文章
- 2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest)
2014-2015 Petrozavodsk Winter Training Camp, Contest.58 (Makoto rng_58 Soejima contest) Problem A. M ...
- 2016 Al-Baath University Training Camp Contest-1 E
Description ACM-SCPC-2017 is approaching every university is trying to do its best in order to be th ...
- 2016 Al-Baath University Training Camp Contest-1 B
Description A group of junior programmers are attending an advanced programming camp, where they lea ...
- 2016 Al-Baath University Training Camp Contest-1 A
Description Tourist likes competitive programming and he has his own Codeforces account. He particip ...
- 2016 Al-Baath University Training Camp Contest-1 J
Description X is fighting beasts in the forest, in order to have a better chance to survive he's gon ...
- 2016 Al-Baath University Training Camp Contest-1 I
Description It is raining again! Youssef really forgot that there is a chance of rain in March, so h ...
- 2016 Al-Baath University Training Camp Contest-1 H
Description You've possibly heard about 'The Endless River'. However, if not, we are introducing it ...
- 2016 Al-Baath University Training Camp Contest-1 G
Description The forces of evil are about to disappear since our hero is now on top on the tower of e ...
- 2016 Al-Baath University Training Camp Contest-1 F
Description Zaid has two words, a of length between 4 and 1000 and b of length 4 exactly. The word a ...
随机推荐
- 在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误的解决办法
问题描述:在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.Open()处. 但是 ...
- mkpasswd的使用
首先安装except包:yum -y install except 参数: -l # (密码的长度定义, 默认是 9) -d # (数字个数, 默认是 2) -c # (小写字符个数, 默认是 2) ...
- 对Vue.js的认知
一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI ...
- vi或vim下按方向键改变方向变成ABCD这类字符
遇到这种问题肯定很恼火,按方向键改变文本的方向有时候变成输入ABCD,有时候并不是我们想要的结果 解决方法: $ echo "set nocp" >> ~/.vimrc ...
- “随机数”函数的 ES6 实现
生成一个指定长度的数字数组 const getNumArray = len => [...new Array(len).keys()]; const getNumArray = len => ...
- Dev Express Report 学习总结(一) 基础知识总结
Dev Express,一个非常优秀的报表控件.像其他报表一样,该报表也包括几个主要部分:Report Header,Page Header,Group Header,Detail,Group Foo ...
- Nginx 为什么要延迟关闭
防止 Nginx处理完后调用close关闭连接后 ,若缓冲区任然接收到客户端发来的内容 ,则服务器会向客户端发送RST包关闭连接,导致客户端由于收到了RST而忽略了 http response ...
- PHP设计原则
Laravel PHP设计模式 定义:将PHP设计成一个固化的模式 面向对象设计原则 内聚度:高内聚,表示一个应用程序的单个单元所负责的任务数量和多样性.内聚与单个类或者单个方法单元相关 耦合度: ...
- 浅析正则表达式模式匹配的 String 方法
在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace.match.search等方法,以下是对一些方法使用的总结. Stri ...
- ab (ApacheBench)命令
ab (ApacheBench)命令 参数 -n 在测试会话中所执行的请求个数.默认时,仅执行一个请求 -c 一次产生的请求个数.默认是一次一个 -t 测试所进行的最大秒数 -k 启用HTTP Kee ...