题目地址http://codeforces.com/contest/486

A题.Calculating Function

奇偶性判断,简单推导公式。

 #include<cstdio>
#include<iostream> using namespace std; int main()
{
long long n;
cin>>n;
if(n%==) {
cout<<(-)*((n-)/+)+n<<endl;
} else
cout<<((n-)/+)*(-)<<endl; return ;
}

B题.OR in Matrix

把必须为0的先填上,然后判断1的是否符合条件。若符合,让剩下的全为1输出,不符合就输出no。

 #include<cstdio>
#include<iostream>
#include<string.h>
#include<stdlib.h> using namespace std; int n,m,
a[][],b[][]; void change(int x,int y)
{
for(int i=;i<=n;i++) {
a[x][i]=;
}
for(int j=;j<=m;j++) {
a[j][y]=;
} } int check(int x,int y)
{
for(int i=;i<=n;i++) {
if(a[x][i]) return ;
} for(int i=;i<=m;i++) {
if(a[i][y]) return ;
} return ;
} int main()
{
memset(a,-,sizeof(a)); scanf("%d%d",&m,&n);
for(int i=;i<=m;i++)
for(int j=;j<=n;j++) {
scanf("%d",&b[i][j]);
if(!b[i][j]) {
change(i,j);
}
} for(int i=;i<=m;i++)
for(int j=;j<=n;j++) {
if(b[i][j]) {
if(check(i,j)) continue;
printf("NO\n");
exit();
}
} printf("YES\n");
for(int i=;i<=m;i++){
for(int j=;j<=n;j++){
if(a[i][j]<) printf("%d ",a[i][j]+);
else printf("%d ",a[i][j]);
}
printf("\n");
} return ;
}

C题.Palindrome Transformation

转化为回文串需要改动的最小步骤数。

只在P所在的那半侧改变。然后求出较小的移动的步数。累加。

 #include<cstdio>
#include<iostream>
#include<string.h>
#include<algorithm> const int N=1e5+;
using namespace std; int main()
{
int i,n,p,len,ret=,l,r;
char a[N]; scanf("%d%d",&n,&p);
scanf("%s",a); p--;
if(p>=n/) p=n--p; l=n;r=-;
for(int i=;i<n/;i++) {
if(a[i]!=a[n--i]) {
ret+=min(abs(a[i]-a[n--i]),-abs(a[i]-a[n--i]));
l=min(l,i);
r=max(r,i);
}
} if(l==n) {
printf("0\n");
return ;
} ret+=(r-l)+min(abs(l-p),abs(r-p)); printf("%d\n",ret); return ;
}

Codeforces Round #277 (Div. 2) 解题报告的更多相关文章

  1. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  2. Codeforces Round #382 (Div. 2) 解题报告

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  3. Codeforces Round #380 (Div. 2) 解题报告

    第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...

  4. Codeforces Round #216 (Div. 2)解题报告

    又范低级错误! 只做了两题!一道还被HACK了,囧! A:看了很久!应该是到语文题: 代码:#include<iostream> #include<];    ,m2=;    ;i ...

  5. Codeforces Round #281 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/493 A题 写完后就交了,然后WA了,又读了一遍题,没找出错误后就开始搞B题了,后来回头重做的时候才发现,球员被红牌罚下场后还可 ...

  6. Codeforces Round #276 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/485 A题.Factory 模拟.判断是否出现循环,如果出现,肯定不可能. 代码: #include<cstdio> ...

  7. Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...

  8. Codeforces Round #479 (Div. 3)解题报告

    题目链接: http://codeforces.com/contest/977 A. Wrong Subtraction 题意 给定一个数x,求n次操作输出.操作规则:10的倍数则除10,否则减1 直 ...

  9. Codeforces Round #515 (Div. 3) 解题报告(A~E)

    题目链接:http://codeforces.com/contest/1066 1066 A. Vova and Train 题意:Vova想坐火车从1点到L点,在路上v的整数倍的点上分布着灯笼,而在 ...

随机推荐

  1. Microsoft.Practices.Unity 给不同的对象注入不同的Logger

    场景:我们做项目的时候常常会引用第三方日志框架来帮助我们记录日志,日志组件的用途主要是审计.跟踪.和调试.就说我最常用的日志组件log4net吧,这个在.NET同行当中应该算是用得非常多的一个日志组件 ...

  2. Adt 配置注释模板

    点击Window->Preferences->Java->Code Style->Code Templates,如下图所示: 选中,点击右侧的Edit进行编辑.

  3. 用Altium designer画PCB的一般心得

    一.电路版设计的先期工作 1.利用原理图设计工具绘制原理图,并且生成对应的网络表.当然,有些特殊情况下,如电路版比较简单,已经有了网络表等情况下也可以不进行原理图的设计,直接进入PCB设计系统,在PC ...

  4. zabbix 发送邮件配置

    Administration->Users->User name->Media <img src="http://img.blog.csdn.net/20160919 ...

  5. BZOJ1089: [SCOI2003]严格n元树

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 387[Submit][Status ...

  6. AS3给显示对象加边框

    给显示对象加边框,可以有以下三种方法1.根据相交路径的缠绕规则的奇偶规则法(使用奇偶缠绕规则时,任何相交路径都交替使用开放填充与闭合填充.如果使用同一填充绘制的两个正方形相交,则不会填充相交的区域.通 ...

  7. linux文件系统学习

    linux系统支持很多种文件系统. 1. 如何确认当前系统挂载了哪些文件系统? 使用mount命令可以查看当前系统上已经挂载了哪些文件系统, sh-# mount rootfs on / type r ...

  8. Java中线程池的学习

    线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理.当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程 ...

  9. c语言结构体4之结构体引用

    struct mystruct{ char str[23];}; 1结构体变量不能整体引用 struct data m: printf("%s",m);//m是结构体变量 2 st ...

  10. Android开发之DatePickerDialog与TimePickerDialog的功能和使用方法具体解释

    DatePickerDialog与TimePickerDialog的功能比較简单,使用方法也非常easy.仅仅要以下两步就可以. Ø  通过newkeyword创建DatePickerDialog.T ...