Codeforces Round #259 (Div. 2)---2014.08.01---A、B。。。下次争取做到C
来源:互联网 发布:好看的恐怖电影知乎 编辑:程序博客网 时间:2024/05/19 11:48
Codeforces Round #259 (Div. 2)---2014.08.01---A、B。。。下次争取做到C
2014.08.01、2014.08.03、2014.08.04
Codeforces的账号是名字的拼音,记一笔。
嗯这是我第一次参加codeforces的线上赛,呵呵,因为UTC的15:30是大半夜,果然第二天感觉自己的脑袋很沉很沉。不过现在觉得参加个什么都是很自然的事,不像大一的时候各种犹豫,还不是因为所有为了不肯努力的敷衍都是借口。。。。
A. Little Pony and Crystal Mine
题目链接
题意:很清晰,给出一个奇数数字,打印出题目要求的那种菱形。这不是学语法的时候的例题吗,具体针对什么语法忘了,然后再找出相应的位置数字方面的规律就好。。。。。我竟然一个小时才过。
细节+代码:
#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i = 0;i<=n/2;i++){ //打印正三角部分。for(j = 1;j<=n/2-i;j++) //每行"D"之前的“*”printf("*");for(j = 1;j<=i*2+1;j++) //每行的“D”printf("D");for(j = 1;j<=n/2-i;j++) //每行"D"之后的“*”printf("*");printf("\n");}for(i = n/2+1;i<=n-1;i++){ //同理打印倒三角部分for(j = 1;j<=i-n/2;j++)printf("*");for(j = 1;j<=n-2*(i-(n/2));j++)printf("D");for(j = 1;j<=i-n/2;j++)printf("*");printf("\n");}return 0;}
B. Little Pony and Sort by Shift
题目链接
题意:给出一串数字,数字的数目也给出,对于这串数字,只能做一种移动,就是把最尾部的数字放到最前面,问这串数字能不能经过这样的移动,变成一串不递减(即以相等或递增顺序排列的数字串),如果可以,那最少要经过几次移动。
思路:我是先写一串不递减的数字串,然后不断地把最前面的放到最后面,就是逆着题意倒推看看怎样的数字串可以通过题意的移动得到不递减的数字串,总结需要移动的次数。可能出现的情况是,不论这个数串的最大值出现在什么位置,这个位置之前的数字和之后的数字都分别是不递减的,这个位置后的数字的最大值必须小于等于这个位置前的数字的最小值,满足以上条件才可以通过移动变成不递减的一串,这里包括了这一串数字都是相同的这种情况。
好吧,这道题目是比赛完才A的,比赛的时候读错题意,以为有几个数字,就是从1到几,其实对数字的数值没限定,也有可能是相同的数字。其实当测试数据错的时候,可以看到错误的那组测试数据的,我不知道这个结果还question,竟然得到了回答,cf真不错!
还有些细节标在代码里:
#include<stdio.h>int main(){int i,n,loc,a[110000],max,frontmin,behindmax,f,j,locfirst;scanf("%d",&n); //注意a数组的开的大小,,呵呵max = 0;for(i = 0;i<=n-1;i++){scanf("%d",&a[i]);if(a[i]>max)max = a[i];}f = 0;for(i = 0;i<=n-1;i++){if(a[i]==max&&f==0){ //如果最大值在开头出现,那么也可以出现在结尾处f = 1;locfirst = i+1;loc = i+1;}if(a[i]<max&&f==1)f = -1;if(a[i]==max&&f==-1){ //但是不能被其他数字隔断出现在中间,if(locfirst!=1){printf("-1\n");return 0;}for(j = i;j<=n-1;j++){ //看了测试数据被提醒了这种情况。if(a[j]!=max){ //这两种情况对移动的次数也有影响,printf("-1\n"); //如果最大值只出现一次,(这个一次指的是不间断的一次),那么位置是可以往后推的,return 0; //但是如果开头一次,结尾一次,是不可以往后推的,} //这个也是WA数据提醒的。这道题目重要的就是这里的表达吧。}}if(f>0&&i>0&&a[i]==max&&a[i-1]==max)loc = i+1;}for(i = 0;i<=n-1;i++){if(i!=0&&a[i]<a[i-1]&&a[i-1]!=max){printf("-1\n");return 0;}}frontmin = a[0];for(i = 0;i<=loc-2;i++){if(a[i]<frontmin)frontmin = a[i];}behindmax = a[loc];for(i = loc;i<=n-1;i++){if(a[i]>behindmax)behindmax = a[i];}if(behindmax>frontmin){printf("-1\n");return 0;}printf("%d\n",n-loc);return 0;}
下次再参加,把有道的屏幕划词准备好。。。明天看点别的,。。
- Codeforces Round #259 (Div. 2)---2014.08.01---A、B。。。下次争取做到C
- Codeforces Round #259 (Div. 2) A B C 三连发
- Codeforces Round #259 (Div. 2) A/B/C/D
- Codeforces Round #259 (Div. 1) (A,B,C)
- Codeforces Beta Round #95 (Div. 2) A B C E
- 【CodeForce】Codeforces Round #140 (Div. 2) A B C
- 【CodeForce】Codeforces Round #142 (Div. 2) A B C
- Codeforces Round #160 (Div. 2)——A,B,C
- Codeforces Round #177 (Div. 2)——A,B,C
- Codeforces Round #179 (Div. 2)A、B、C、D
- Codeforces Round #184 (Div. 2)——A,B,C
- Codeforces Round #185 (Div. 2)——A,B,C
- Codeforces Round #186 (Div. 2)——A,B,C
- Codeforces Round #186 (Div. 2)A、B、C、D、E
- Codeforces Round #190 (Div. 2) A B C
- Codeforces Round #196 (Div. 2) A,B,C
- Codeforces Round #202 (Div. 2) (A、B、C、D)
- Codeforces Round #211 (Div. 2)(A,B,C,D)
- hdu 1032 The 3n + 1 problem
- ocx控件怎样查看里面的接口和方法
- 设备驱动程序网络驱动程序的修改
- hdu 4906 Our happy ending 状态压缩dp
- 【STL标准模板库讲解】
- Codeforces Round #259 (Div. 2)---2014.08.01---A、B。。。下次争取做到C
- URL的几个简单方法以及很初级的同步和异步
- 题目1187:最小年龄的3个职工
- OpenGLES demo - 15. 阴影贴图 Shadow Map 之点光源
- poj 3400 Dropping the stones
- memset函数使用详解
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Java多线程解决生产者和消费者问题(面向对象)
- hdu 1724 Ellipse(Simpson积分法)