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

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

  2. Codeforces 352B - Jeff and Periods

    352B - Jeff and Periods 思路:水题,考验实现(implementation)能力,来一波vector[允悲]. 代码: #include<bits/stdc++.h> ...

  3. 思维题--code forces round# 551 div.2

    思维题--code forces round# 551 div.2 题目 D. Serval and Rooted Tree time limit per test 2 seconds memory ...

  4. B. Jeff and Periods(cf)

    B. Jeff and Periods time limit per test 1 second memory limit per test 256 megabytes input standard ...

  5. Code Forces 796C Bank Hacking(贪心)

    Code Forces 796C Bank Hacking 题目大意 给一棵树,有\(n\)个点,\(n-1\)条边,现在让你决策出一个点作为起点,去掉这个点,然后这个点连接的所有点权值+=1,然后再 ...

  6. Code Forces 833 A The Meaningless Game(思维,数学)

    Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...

  7. Code Forces 543A Writing Code

    题目描述 Programmers working on a large project have just received a task to write exactly mm lines of c ...

  8. Code Forces 21 A(模拟)

    A. Jabber ID time limit per test 0.5 second memory limit per test 256 megabytes input standard input ...

  9. CF352B Jeff and Periods 模拟

    One day Jeff got hold of an integer sequence a1, a2, ..., an of length n. The boy immediately decide ...

随机推荐

  1. http请求之referer头与防盗链

    在网页中的占用大流量的信息可以写成这个信息在网络上的url位置,这样就会减少本网站的流量,但是其他网站也 不会随意让你使用人家的资源,因为这样的情对人家的网站没有好处,会增加人家网站的流量,所以要防止 ...

  2. 月下载量上千次的APP源码分享

    在360上面上线了一个月,下载量上千余次.这里把代码都分享出来,供大家学习哈!还包括教大家如何接入广告,赚点小钱花花,喜欢的帮忙顶一个,大神见了勿喷,小学僧刚学Android没多久. 首先介绍这款应用 ...

  3. onActivityResult调用不到的问题

    有可能是调用时机不对,请转移到: http://www.cnblogs.com/shaweng/p/3875825.html 还有可能是Activity的launchmode导致的 使用 androi ...

  4. NSdata 与 NSString,Byte数组,UIImage 的相互转换

    1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataen ...

  5. iOS RunTime的简单使用

    1.根据指定规则根据runtime进行页面选择跳转 背景:要根据后台返回的数据 进行选择要跳转到哪一个ViewController // 这个规则肯定事先跟服务端沟通好,跳转对应的界面需要对应的参数 ...

  6. bat里如何用相对路径

    在bat中直接使用绝对路径没有问题,但是文件传到其他地方时,绝对路径会发生改变,因此想通过使用相对路径来解决. 可以通过在bat获取当前bat所在的目录,然后cd 该目录来解决该问题 在bat前面增加 ...

  7. 【HeadFirst设计模式】13.与设计模式相处

    模式: 是在某情境下,针对某问题的某种解决方案. 要点: 让设计模式自然而然地出现在你的设计中,而不是为了使用而使用. 设计模式并非僵化的教条,你可以依据自己的需要采用或者进行调整. 总是使用最简单的 ...

  8. jquery鼠标样式

    浏览器是有自带的鼠标样式的,如果某些时候为了保持鼠标样式的统一,或者想指定特定的鼠标样式该怎么办呢?那就要使用自定义了,下面有个不错的示例,喜欢的朋友可以参考下   1.浏览器自带的鼠标样式:  2. ...

  9. 为什么要有binary-to-text encoding?

    在wikipedia上看MIME的介绍的时候,有一节是关于Content-Transfer-Encoding的,里面提到了binary-to-text encoding,我就想,既然计算机中的信息使用 ...

  10. 远程连接Ucenter数据库

    网站和Ucenter不是同一服务器的连接方法~我折腾了好几天,终于找到了这方法!各位连接不上的不妨试试~什么事只有试过才知道行不行! define('UC_CONNECT', 'mysql'); de ...