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 ...
随机推荐
- 1 前言:WPF之What&Why
转载:http://blog.csdn.net/fwj380891124 自古以来,生产工具的先进程度就代表了生成力的先进程度-------生成力的发展要求人们不断的研发出新的生产工具,新生成工具的诞 ...
- Java语言编写计算器(简单的计算器)
Java编写的一个简单计算器,本人还比较菜,只能这样了,有点代码冗余,不能连续计算. import javax.swing.*; import java.awt.*; import java.awt. ...
- PHP使用缓存生成静态页面
http://www.cnblogs.com/lh460795/archive/2013/04/06/3003105.html 在apache / bin/ab.exe 可以做压力测试,该工具可以模 ...
- C#之装箱和拆箱
在实际编码过程中,有时候会出现装箱和拆箱操作.下面就类分别认识一下: 需要注意的是,类型转换和这个是不同的.Convert方法并没有发生装箱和拆箱操作,而是类型转换,包括int.parse等等. 装箱 ...
- HTML招聘简历解析
使用 jsoup 对 HTML 文档进行解析和操作 Jsoup解析html简历与dom4j解析xml是一个道理:首先必须知道html的格式,不知道格式,无法解析.根据格式,再将需要的内容通过下面的方法 ...
- 转:C# 泛型编程之泛型类、泛型方法、泛型约束
C# 泛型编程之泛型类.泛型方法.泛型约束 分类: asp.net c#2012-08-07 17:36 5998人阅读 评论(0) 收藏 举报 c#编程classobject编译器struct 泛型 ...
- OpenJudge/Poj 1321 棋盘问题
1.链接地址: http://bailian.openjudge.cn/practice/1321 http://poj.org/problem?id=1321 2.题目: 棋盘问题 Time Lim ...
- 纯原生js移动端图片压缩上传插件
前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于 ...
- js实现完美身份证号有效性验证
最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个 ...
- aix5下安装python和cx_Oracle
之前写了一个 linux下安装python和cx_Oracle 这次其实差不多. 1.解压安装包: Python-2.5.4.tar.bz2 cx_Oracle-5.0.4.tar.gz 2.安装py ...