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 ...
随机推荐
- postgresql crosstab 行转列函数
http://blog.csdn.net/hexin373/article/details/19242833
- 【C#4.0图解教程】笔记(第1章~第8章)
第1章 C#和.NET框架 1..NET框架的组成 .NET框架由三部分组成(严格来说只有CLR和FCL(框架类库)两部分),如图 执行环境称为:CLR(公共语言运行库),它在运行期管理程序的执行. ...
- union判断CPU是little-endian还是big-endian存储
利用联合体的特殊存储方式,便能检测出来cpu所使用的事big-endian或者是little-endian的存储方式. 1.判断系统是Big liden 或者是little ledin 方法1:in ...
- XCode实用好用插件集锦
工欲善其事,必先利其器,iOS开发运用插件可以大大提高开发的效率. 原文地址: http://www.oschina.net/project/tag/432/xcode-plugins
- Eclipse恢复初始界面&打开视图
恢复初始界面: 单击菜单栏的windows主菜单,在子菜单里选择 Reset Perspective 会弹出各对话框 ,点 ok就可以了 打开视图:Windows->Show View 其中Ot ...
- hdu 4778 Gems Fight! 博弈+状态dp+搜索
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4102743.html 题目链接:hdu 4778 Gems Fight! 博弈+状态dp+搜 ...
- ASP.NET MVC Web API使用示例
上篇博客讲解rest服务开发时,曾经提到过asp.net mvc中的rest api,由于篇幅原因,没有在上篇博客中进行讲解,这里专门拿出来进行讨论.还是一样引用上次的案例,用asp.net mvc提 ...
- web api 如何接收post过来的json字符串
前言 好久没有写博客了,有一天同学问我咋不写了,我说没啥写的,都是一些基础的东西.然后他说,难道写东西不是为了总结吗?我说是的.....额,我是不知道怎么说了.确实是写博客也是给自己的一种总结,一种理 ...
- fsockopen
fsockopen — 打开一个网络连接或者一个Unix套接字连接 说明 resource fsockopen ( string $hostname [, int $port = -1 [, int ...
- hdu 3591 The trouble of Xiaoqian
hdu 3591 The trouble of Xiaoqian 题意:xiaoqi要买一个T元的东西,当前的货币有N种,xiaoqi对于每种货币有Ci个:题中定义了最小数量即xiaoqi拿去买东西 ...