ZOJ 3182 Nine Interlinks(规律啊 )

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3223

"What are you doing now?"

"Playing Nine Interlinks!"

"What is that?"

"Oh it is an ancient game played over China. The task is to get the nine rings off the stick according to some rules. Now, I have got them off, would you like to have a try to get them
on?"

Input

The first line of the input contains an integer T (T <= 30), indicating the number of cases.

Each case consists of a simple integer n (1 < n < 30), which is the number of the total rings you need to get on the stick.

At the beginning, all rings are off the stick.

In each step, you can only get one ring on or off by the following rules:

1. You can get the first ring on or off freely at each step.

2. If the ith ring is on the stick, and the 1st, 2nd... (i-1)st rings are off the stick, you can get the (i+1)st ring on or off freely at each step.

Output

For each case, print in a single line the minimum number of steps you need to get n rings on the stick.

Sample Input

2
2
3

Sample Output

2
5

Hint

The first sample: 1 on, 2 on.

The second sample: 1 on, 2 on, 1 off, 3 on, 1 on.

题意:

最开始 每个环都是闭合的,求按照两个规则操作,能打开所有环的最小操作步数:

1、第一个环可以任意选择打开或者关闭;

2、当 1 到  i - 1 个环是闭合的,第i个环是打开的,那么才可以打开第 i + 1 个环;

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <malloc.h>
#include <ctype.h>
#include <math.h>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
#include <stack>
#include <queue>
#include <vector>
#include <deque>
#include <set>
#include <map>

long long  a[50],b[50];
int main()
{
	long long t;
	long long y1,y2;
	cin>>t;

	a[1]=1;
	for(long long i=2;i<=30;i++)
	{
		a[i]=a[i-1]*2+1;
	}
	b[1]=1;
	for(long long i=2;i<=30;i++)
	{
		b[i]=a[i]-b[i-1];
		//printf("%lld %lld\n",i,b[i]);
	}
	long long n;
	while(t--)
	{
		cin>>n;
		printf("%lld\n",b[n]);
	}
	return 0;
}

代码二:

#include<cstdio>
int main()
{
	int i,f[30];
	f[1]=1;f[2]=2;f[3]=5;
	for( i = 4 ; i <= 30 ; i++ )
	{
		f[i] = f[i-1]+2*f[i-2]+1;
	}

	int t,n;
	while(~scanf("%d",&t))
	{
		while(t--)
		{
			scanf("%d",&n);
			printf("%d\n",f[n]);
		}
	}
	return 0 ;
}
时间: 2024-08-24 19:43:55

ZOJ 3182 Nine Interlinks(规律啊 )的相关文章

ZOJ 3629(找规律)

Treasure Hunt IV Time Limit: 2 Seconds      Memory Limit: 65536 KB Alice is exploring the wonderland, suddenly she fell into a hole, when she woke up, she found there are b - a + 1 treasures labled afrom b in front of her. Alice was very excited but

ZOJ 3768Continuous Login(找规律然后二分)

Continuous Login Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge Pierre is recently obsessed with an online game. To encourage users to log in, this game will give users a continuous login reward. The mechanism of continuous log

【ZOJ】3785 What day is that day? ——浅谈KMP应用之ACM竞赛中的暴力打表找规律

首先声明一下,这里的规律指的是循环,即找到最小循环周期.这么一说大家心里肯定有数了吧,“不就是next数组性质的应用嘛”. 先来看一道题 ZOJ 3785 What day is that day? Time Limit: 2 Seconds      Memory Limit: 65536 KB It's Saturday today, what day is it after 11 + 22 + 33 + ... + NN days? Input There are multiple tes

ZOJ 3622 Magic Number 打表找规律

A - Magic Number Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice ZOJ 3622 Appoint description: Description A positive number y is called magic number if for every positive integer x it satisfies that

ZOJ 3798 Abs Problem(规律题)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3798 Abs Problem Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Alice and Bob is playing a game, and this time the game is all about the absolute value! Alice has

zoj 3629 Treasure Hunt IV(找规律)

Alice is exploring the wonderland, suddenly she fell into a hole, when she woke up, she found there are b - a + 1 treasures labled a fromb in front of her.Alice was very excited but unfortunately not all of the treasures are real, some are fake.Now w

组队赛#1 解题总结 ZOJ 3798 Abs Problem (找规律+打表)

Abs Problem Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Alice and Bob is playing a game, and this time the game is all about the absolute value! Alice has N different positive integers, and each number is not greater than N.

ZOJ 2686 Cycle Game(博弈 找规律)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1686 Here is a game played on a cycle by two players. The rule of this game is as follows: At first, a cycle is given and each edge is assigned a non-negative integer. Among those intege

ZOJ 3829 Known Notation --贪心+找规律

题意:给出一个字符串,有两种操作: 1.插入一个数字  2.交换两个字符   问最少多少步可以把该字符串变为一个后缀表达式(操作符只有*). 解法:仔细观察,发现如果数字够的话根本不用插入,数字够的最低标准为'*'的个数+1,因为最优是 '12*3*..' 这种形式,所以先判断够不够,不够就补,然后从左往右扫一遍,如果某个时刻Star+1>Num,那么从开始到这一段是不合法的,要把那个'*'与后面的一个数字交换,此时Star--,Num++.然后步数++.这样得出的结果就是最后的最小步数. 脑子