码迷,mamicode.com
首页 > 其他好文 > 详细

acm_icpc网络赛第一站:牡丹江赛区

时间:2014-09-09 21:38:09      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:style   color   os   io   ar   strong   for   art   div   

sad没想到自己菜成这个样子,虽然第一次打组队赛,本来也没指望出线什么的,结果3人鼓捣了半天除了两个水题,A题太水不说了,一般都是5分钟内解决,最快的好像是2分钟。。神手速orz,a题是chp敲的1A,然后他就去做了c题,后来用记录路径的bfs搜了几次都TLE了,后来c题也不了了之了,然后看到J题过了一大片,果断枚举水过,wa了5次。。在之后我敲了H题,TLE。。sad 纯暴力算法果然不行。。事后学长说是记忆化搜索?反正整个实验室都没出来H题好像。。

A题:

The Himalayas

Time Limit: 2 Seconds      Memory Limit: 65536 KB

As an artist, Bob usually need to travel around the world. He made a lot of sketch of scenery on his journey. A famous spot he have visited recently is the Himalayas. The Himalayas is a mountain range in South Asia separating the plains of the Indian subcontinent from the Qinghai-Tibet Plateau. The Himalayas include over a hundred mountains exceeding 7,200 meters in elevation.

One day, Bob came up with an strange idea. He wanted to know the number of mountain peaks in his paintings. As his best friend, he turned to you for help. You are given a list of N height sampling values Hi. You should determine how many peaks are there. For all i which satisfies 2 <= i <= N - 1, Hi is defined as a peak if and only if Hi-1 < Hi > Hi+1.

Input

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:

The first line contains one integer N (1 <= N <= 50). The next line contains N integers Hi (1 <= Hi <= 8844). It is guaranteed that any two adjacent height sampling values will be different.

Output

For each test case, output the number of peaks.

Sample Input

2
9
1 3 2 4 6 3 2 3 1
5
1 2 3 4 5

Sample Output

3
0
纯暴力。。送人头的

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <cstdlib>
#include <algorithm>
#include <set>
#include <vector>
#include <string>
#include <cmath>
#include <map>
#include <queue>
using namespace std;
#define LL long long
int a[55];
int main()
{
	int n,t;
	scanf("%d",&t);
	while(t--)
	{
	   scanf("%d",&n);
	   for(int i=0;i<n;i++)
		scanf("%d",&a[i]);
	   int cnt=0;
	   for(int i=1;i<n-1;i++)
		if(a[i]>a[i-1]&&a[i]>a[i+1])
			cnt++;
		printf("%d\n",cnt);
	}
	return 0;
}

J题:


Pretty Poem

Time Limit: 2 Seconds      Memory Limit: 65536 KB

Poetry is a form of literature that uses aesthetic and rhythmic qualities of language. There are many famous poets in the contemporary era. It is said that a few ACM-ICPC contestants can even write poetic code. Some poems has a strict rhyme scheme like "ABABA" or "ABABCAB". For example, "niconiconi" is composed of a rhyme scheme "ABABA" with A = "ni" and B = "co".

More technically, we call a poem pretty if it can be decomposed into one of the following rhyme scheme: "ABABA" or "ABABCAB". The symbol AB and C are different continuous non-empty substrings of the poem. By the way, punctuation characters should be ignored when considering the rhyme scheme.

You are given a line of poem, please determine whether it is pretty or not.

Input

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:

There is a line of poem S (1 <= length(S) <= 50). S will only contains alphabet characters or punctuation characters.

Output

For each test case, output "Yes" if the poem is pretty, or "No" if not.

Sample Input

3
niconiconi~
pettan,pettan,tsurupettan
wafuwafu

Sample Output

Yes
Yes
No

暴力枚举。。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <cstdlib>
#include <algorithm>
#include <set>
#include <vector>
#include <string>
#include <cmath>
#include <map>
#include <queue>
using namespace std;
#define LL long long
char str[100];
bool is_ab()
{
	int len=strlen(str);
	for(int i=1;i<len;i++)//枚举a的长度
	{
		int lb=len-3*i;
		if(lb<1)break;
		if(lb%2)continue;
		lb/=2;
		if(lb==i&&!strncmp(str,str+i,i))//考虑a,b相同的情况
			continue;
		char t[555]="\0";
		strncat(t,str,i);//a
		strncat(t,str+i,lb);//b
		strncat(t,str,i);//a
		strncat(t,str+i,lb);//b
		strncat(t,str,i);//a
		if(!strcmp(str,t))
			return 1;
	}
	return 0;
}
bool is_abc()
{
   int len=strlen(str);
   for(int i=1;i<len;i++)//枚举a,b的长度
		for(int j=1;j<len;j++)
        {
   	       int lc=len-3*i-3*j;
   	       if(lc<1)
			continue;
		   if(i==j&&!strncmp(str,str+i,i))continue;//考虑a,b相同
		   if(i==lc&&!strncmp(str,str+2*i+2*j,i))continue;//考虑a,c相同
		   if(j==lc&&!strncmp(str+i,str+2*i+2*j,j))continue;//考虑b,c相同
		   char t[555]="\0";
		   strncat(t,str,i);
		   strncat(t,str+i,j);
		   strncat(t,str,i);
		   strncat(t,str+i,j);
		   strncat(t,str+2*i+2*j,lc);
		   strncat(t,str,i);
		   strncat(t,str+i,j);
		   if(!strcmp(str,t))
			return 1;
        }
        return 0;
}
int main()
{
	int t,p;char c;
	cin>>t;getchar();
	while(t--)
	{
		p=0;
		while((c=getchar())!='\n')
			if(isalpha(c))
				str[p++]=c;
		str[p]='\0';
		if(is_ab()||is_abc())
			puts("Yes");
		else
			puts("No");
	}
	return 0;
}


acm_icpc网络赛第一站:牡丹江赛区

标签:style   color   os   io   ar   strong   for   art   div   

原文地址:http://blog.csdn.net/qq_16255321/article/details/39159579

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!