code forces Jeff and Periods
/*
* c.cpp
*
* Created on: 2013-10-7
* Author: wangzhu
*/ #include<cstdio>
#include<iostream>
using namespace std;
#define NMAX 100010
struct Node {
//index:表示两个数直接的距离(-1:表示未开始,0:表示开始:> 0:表示有了距离
//val:记录最后一次的位置
//flag:不符合条件 (0:表示符合条件,1:表示不符合条件)
int index, val, flag;
} node[NMAX];
int main() {
freopen("data.in", "r", stdin);
int n,val,k;
while(~scanf("%d",&n)) {
for(int i = ;i < NMAX;i++) {
node[i].index = -;
node[i].val = ;
node[i].flag = ;
} for(int i = ;i <= n;i++) {
scanf("%d",&val);
if(node[val].index > ) {
if(node[val].index != i - node[val].val) {
node[val].flag = ;
}
} else {
if(node[val].val > ) {
node[val].index = i - node[val].val;
} else {
node[val].index = ;
}
}
node[val].val = i;
}
k = ;
for(int i = ;i < NMAX;i++) {
if(node[i].index != - && node[i].flag == ) {
k++;
}
}
printf("%d\n",k);
for(int i = ;i < NMAX;i++) {
if(node[i].index != - && node[i].flag == ) {
printf("%d %d\n",i,node[i].index);
}
}
}
return ;
}
超时的方法,如下:
/*
* c.cpp
*
* Created on: 2013-10-7
* Author: wangzhu
*/ #include<cstdio>
#include<iostream>
using namespace std;
#define NMAX 100010
struct Node {
int index, val;
} node[NMAX];
int main() {
freopen("data.in", "r", stdin);
int n,val,k,tempIndex;
bool flag;
Node tempNode;
while(~scanf("%d",&n)) {
for(int i = ;i < n;i++) {
scanf("%d",&val);
node[i].index = i;
node[i].val = val;
}
for(int i = ;i < n;i++) {
for(int j = ;j < n - i -;j++) {
if(node[j].val > node[j + ].val) {
tempNode = node[j];
node[j] = node[j+];
node[j+] = tempNode;
}
}
}
k = ;
flag = true;
for(int i = ;i < n;) {
tempNode = node[i];
tempIndex = ;
flag = true;
while(i < n && tempNode.val == node[i].val) {
if(tempIndex == ) {
tempIndex = node[i].index - tempNode.index;
} else {
if(tempIndex != node[i].index -tempNode.index) {
flag = false;
}
}
tempNode = node[i];
i++;
}
if(flag) {
node[k].val = tempNode.val;
node[k].index = tempIndex;
k++;
}
}
printf("%d\n",k);
for(int i = ;i <k;i++) {
printf("%d %d\n",node[i].val,node[i].index);
}
}
return ;
}
code forces Jeff and Periods的更多相关文章
- Codeforces Round #204 (Div. 2)->B. Jeff and Periods
B. Jeff and Periods time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces 352B - Jeff and Periods
352B - Jeff and Periods 思路:水题,考验实现(implementation)能力,来一波vector[允悲]. 代码: #include<bits/stdc++.h> ...
- 思维题--code forces round# 551 div.2
思维题--code forces round# 551 div.2 题目 D. Serval and Rooted Tree time limit per test 2 seconds memory ...
- B. Jeff and Periods(cf)
B. Jeff and Periods time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Code Forces 796C Bank Hacking(贪心)
Code Forces 796C Bank Hacking 题目大意 给一棵树,有\(n\)个点,\(n-1\)条边,现在让你决策出一个点作为起点,去掉这个点,然后这个点连接的所有点权值+=1,然后再 ...
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- Code Forces 543A Writing Code
题目描述 Programmers working on a large project have just received a task to write exactly mm lines of c ...
- Code Forces 21 A(模拟)
A. Jabber ID time limit per test 0.5 second memory limit per test 256 megabytes input standard input ...
- CF352B Jeff and Periods 模拟
One day Jeff got hold of an integer sequence a1, a2, ..., an of length n. The boy immediately decide ...
随机推荐
- http请求之referer头与防盗链
在网页中的占用大流量的信息可以写成这个信息在网络上的url位置,这样就会减少本网站的流量,但是其他网站也 不会随意让你使用人家的资源,因为这样的情对人家的网站没有好处,会增加人家网站的流量,所以要防止 ...
- 月下载量上千次的APP源码分享
在360上面上线了一个月,下载量上千余次.这里把代码都分享出来,供大家学习哈!还包括教大家如何接入广告,赚点小钱花花,喜欢的帮忙顶一个,大神见了勿喷,小学僧刚学Android没多久. 首先介绍这款应用 ...
- onActivityResult调用不到的问题
有可能是调用时机不对,请转移到: http://www.cnblogs.com/shaweng/p/3875825.html 还有可能是Activity的launchmode导致的 使用 androi ...
- NSdata 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataen ...
- iOS RunTime的简单使用
1.根据指定规则根据runtime进行页面选择跳转 背景:要根据后台返回的数据 进行选择要跳转到哪一个ViewController // 这个规则肯定事先跟服务端沟通好,跳转对应的界面需要对应的参数 ...
- bat里如何用相对路径
在bat中直接使用绝对路径没有问题,但是文件传到其他地方时,绝对路径会发生改变,因此想通过使用相对路径来解决. 可以通过在bat获取当前bat所在的目录,然后cd 该目录来解决该问题 在bat前面增加 ...
- 【HeadFirst设计模式】13.与设计模式相处
模式: 是在某情境下,针对某问题的某种解决方案. 要点: 让设计模式自然而然地出现在你的设计中,而不是为了使用而使用. 设计模式并非僵化的教条,你可以依据自己的需要采用或者进行调整. 总是使用最简单的 ...
- jquery鼠标样式
浏览器是有自带的鼠标样式的,如果某些时候为了保持鼠标样式的统一,或者想指定特定的鼠标样式该怎么办呢?那就要使用自定义了,下面有个不错的示例,喜欢的朋友可以参考下 1.浏览器自带的鼠标样式: 2. ...
- 为什么要有binary-to-text encoding?
在wikipedia上看MIME的介绍的时候,有一节是关于Content-Transfer-Encoding的,里面提到了binary-to-text encoding,我就想,既然计算机中的信息使用 ...
- 远程连接Ucenter数据库
网站和Ucenter不是同一服务器的连接方法~我折腾了好几天,终于找到了这方法!各位连接不上的不妨试试~什么事只有试过才知道行不行! define('UC_CONNECT', 'mysql'); de ...