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的更多相关文章

  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 ...

  2. 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 ...

  3. 2016 Al-Baath University Training Camp Contest-1 B

    Description A group of junior programmers are attending an advanced programming camp, where they lea ...

  4. 2016 Al-Baath University Training Camp Contest-1 A

    Description Tourist likes competitive programming and he has his own Codeforces account. He particip ...

  5. 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 ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. GM TECH2 Scanner Clone

    Professional Diagnostic Tools gm tech 2 scanner china with multi-languages, TIS2000 Programming CD, ...

  2. Flex布局教程

    一.Flex布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.任何一个容器都可以指定为 Flex 布局. .box{ ...

  3. Linux安装mysql记录 重置密码

    重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...

  4. python_爬虫基础学习

    ——王宇阳—根据mooc课程总结记录笔记(Code_boy) Requests库:自动爬去HTML页面.自动网络请求提交 robots.txt:网络爬虫排除标准 Beautiful Soup库:解析H ...

  5. linux进程间的通信之 共享内存

    一.共享内存介绍 共享内存是三个IPC(Inter-Process Communication)机制中的一个. 它允许两个不相关的进程访问同一个逻辑内存. 共享内存是在两个正在进行的进程之间传递数据的 ...

  6. mysql 死锁解决办法

    查询表的时候,发现一圈圈转啊转,就是不出来数据,猜测表被锁住 解决办法 : mysql> show processlist ; mysql> kill 4;       说明 : 4为 i ...

  7. 为什么vue+webpack需要用到node,如何部署项目到服务器?

    第一部分 之前一直不太理解为什么要使用vue+webapck,还有在使用了vue-cli之后会用到后台,即vue-cli自动帮我们安装了express服务器,在本地服务器上运行,因为我们希望可以模拟在 ...

  8. 关于Vim 的插件snipmate 以及它的安装方式

    在网上看了http://study.163.com/course/courseMain.htm?courseId=269016#/courseMain   里关于snipmate 的视频 snipma ...

  9. Linux 下 zip 文件解压乱码解决方案,ubuntu16.10亲测可用

    文章来源: https://www.zhihu.com/question/20523036 今天邮件中收到了一个压缩文件,解压后却是乱码,从网上也找了几个方法,目前这个方法还是比较可靠的,如下所示: ...

  10. Golang笔记(二)面向对象的设计

    Golang笔记(二)面向对象的设计 Golang本质还是面向过程的语言,但它实现了一些OOP的特性,包括抽象.封装.继承和多态. 抽象和封装 Golang和C语言一样以struct为数据结构核心,不 ...