Educational Codeforces Round 26 A B C题
题目链接
A. Text Volume
题意:计算句子中,每个单词大写字母出现次数最多的那个的出现次数(混不混乱QAQ).
解题思路:注意getchar()就没啥了.
#include<cstdio>
#include<cstring>
#include<iostream>
#include<ctype.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
char str[];
cin>>n;
getchar();
for(int i=;i<n;i++) scanf("%c",&str[i]);
int max_len=,cnt=;
for(int i=;i<n;i++)
{
if(isalpha(str[i])>)
{
if(str[i]>='A'&&str[i]<='Z') cnt++;
}
else max_len=max(max_len,cnt),cnt=;
}
max_len=max(max_len,cnt),cnt=;
cout<<max_len<<endl;
return ;
}
B. Flag of Berland
题意:色光三原色,RGB,判断这三个字母是否都出现且围成的图案要完全一样(条纹).
解题思路:暴力模拟,扫扫扫,直接看代码吧.
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char Map[][];
int n,m,x,y;
void solve(char ch)
{
int flag=;
x=y=;
for(int i=;i<n&&flag;i++)
{
for(int j=;j<m&&flag;j++)
{
if(Map[i][j]==ch)
{
flag=;
int ii=i+,jj=j+;
x++,y++;
while(Map[i][jj]==ch&&jj<m)
{
jj++; y++;
}
while(Map[ii][j]==ch&&ii<n)
{
ii++; x++;
}
for(int _i=i;_i<ii;_i++)
{
for(int _j=j;_j<jj;_j++)
if(Map[_i][_j]!=ch)
{
x=y=; return ;
}
}
}
}
}
}
int main()
{ cin>>n>>m;
for(int i=;i<n;i++) scanf("%s",Map[i]);
if( (n*m)%!= )
{
puts("NO"); return ;
}
int a=,b=,a1=,b1=,a2=,b2=;
solve('R');
a=x,b=y; solve('B');
a1=x,b1=y; solve('G');
a2=x,b2=y; if(a&&b&&a1&&b1&&a2&&b2&&a*b+a1*b1+a2*b2==n*m
&&a==a1&&a1==a2&&b==b1&&b1==b2)
puts("YES");
else puts("NO");
return ;
}
C. Two Seals
题意:在n*m纸上,盖两个印章,在不越界前提下要求总面积最大,印章可旋转着盖.
解题思路:双重for循环,直接暴力枚举,每次取一次max.
刚开始没注意到是盖两个,用背包写了半天,半路发现GG思密达...
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int x[],y[];
int main()
{
int n,a,b,sum=;
cin>>n>>a>>b;
if(a>b) swap(a,b);
for(int i=;i<=n;i++) cin>>x[i]>>y[i];
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
{
int sumx,sumy;
sumx=x[i]+x[j],sumy=max(y[i],y[j]);
if(sumx>sumy) swap(sumx,sumy);
if(sumx<=a&&sumy<=b) sum=max(sum,x[i]*y[i]+x[j]*y[j]); sumx=x[i]+y[j],sumy=max(y[i],x[j]);
if(sumx>sumy) swap(sumx,sumy);
if(sumx<=a&&sumy<=b) sum=max(sum,x[i]*y[i]+x[j]*y[j]); sumx=y[i]+x[j],sumy=max(x[i],y[j]);
if(sumx>sumy) swap(sumx,sumy);
if(sumx<=a&&sumy<=b) sum=max(sum,x[i]*y[i]+x[j]*y[j]); sumx=y[i]+y[j],sumy=max(x[i],x[j]);
if(sumx>sumy) swap(sumx,sumy);
if(sumx<=a&&sumy<=b) sum=max(sum,x[i]*y[i]+x[j]*y[j]);
}
cout<<sum<<endl;
return ;
}
Educational Codeforces Round 26 A B C题的更多相关文章
- Educational Codeforces Round 26
Educational Codeforces Round 26 困到不行的场,等着中午显示器到了就可以美滋滋了 A. Text Volume time limit per test 1 second ...
- CodeForces 837F - Prefix Sums | Educational Codeforces Round 26
按tutorial打的我血崩,死活挂第四组- - 思路来自FXXL /* CodeForces 837F - Prefix Sums [ 二分,组合数 ] | Educational Codeforc ...
- CodeForces - 837E - Vasya's Function | Educational Codeforces Round 26
/* CodeForces - 837E - Vasya's Function [ 数论 ] | Educational Codeforces Round 26 题意: f(a, 0) = 0; f( ...
- CodeForces 837D - Round Subset | Educational Codeforces Round 26
/* CodeForces 837D - Round Subset [ DP ] | Educational Codeforces Round 26 题意: 选k个数相乘让末尾0最多 分析: 第i个数 ...
- Educational Codeforces Round 26 [ D. Round Subset ] [ E. Vasya's Function ] [ F. Prefix Sums ]
PROBLEM D - Round Subset 题 OvO http://codeforces.com/contest/837/problem/D 837D 解 DP, dp[i][j]代表已经选择 ...
- Educational Codeforces Round 26 F. Prefix Sums 二分,组合数
题目链接:http://codeforces.com/contest/837/problem/F 题意:如题QAQ 解法:参考题解博客:http://www.cnblogs.com/FxxL/p/72 ...
- Educational Codeforces Round 26 B,C
B. Flag of Berland 链接:http://codeforces.com/contest/837/problem/B 思路:题目要求判断三个字母是否是条纹型的,而且宽和高相同,那么先求出 ...
- Educational Codeforces Round 14 B. s-palindrome 水题
B. s-palindrome 题目连接: http://www.codeforces.com/contest/691/problem/B Description Let's call a strin ...
- Educational Codeforces Round 26 D dp
D. Round Subset time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
随机推荐
- PHP-GTK的demo在windows下运行出现的问题
I am trying to use Firebird 2.5.2.26539 with wamp,When i enable the extensions of firebird in php: - ...
- IG—金字塔
博客链接 选择困难症的福音--团队Scrum冲刺阶段-Day 1领航 选择困难症的福音--团队Scrum冲刺阶段-Day 2 选择困难症的福音--团队Scrum冲刺阶段-Day 3 选择困难症的福音- ...
- 那些我离不开的 Sketch 插件
当谈论到插件时,我是一名极客.各种新颖的 Sketch 插件层出不穷,但是有那么几个是我怎么也离不开的. Sketch 运行器 多层的插件菜单再也不会影响我的效率了. 我推迟了好几年才使用这个插件,因 ...
- Winform窗体控件级权限处理
公共类: static class PowerHelper { /// <summary> /// 设置form上的组件的权限 /// ...
- Pseudo-class和pseudo-element的差别
相同点: Pseudo-class和pseudo-element的语法都是以selector或者selector.class开始的. 不同点: Pseudo-class的操作对象是文档树中已有的元素, ...
- Linux的简单介绍和开发基本运维时候用到的命令
先简单介绍下Linux文件夹目录 1./ linux下的根目录 实际上等同于window的我的电脑点进去 2./etc /usr 一个是系统配置文件存放的地方,一个是系统资源(应用程序)放的地方这俩文 ...
- 2018.08.28 洛谷P4360 [CEOI2004]锯木厂选址(斜率优化dp)
传送门 一道斜率优化dp入门题. 是这样的没错... 我们用dis[i]表示i到第三个锯木厂的距离,sum[i]表示前i棵树的总重量,w[i]为第i棵树的重量,于是发现如果令第一个锯木厂地址为i,第二 ...
- head first 设计模式文摘
1 欢迎来到设计模式世界:设计模式入门 2 让你的对象知悉现况:观察者模式 3 装饰对象:装饰者模式 4 工厂模式:烘烤OO的精华 5 单件模式:独一无二的对象 6 命令模式:封装调用 7 适配器模式 ...
- Linux命令:ps
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- WriteableBitmap(二) 实例
使用前面定义的WriteableBitmap,我们可以很容易地创建一个足够容纳整个100 x 100图像的数组: byte[] pixels = new byte[wbmap.PixelHeight* ...