关于"P1152 欢乐的跳"一题
查看原帖
关于"P1152 欢乐的跳"一题
381088
一口阳光楼主2021/6/7 22:50

P1152 欢乐的跳一题,题目这里不赘述了。

我的思路

[1,n−1]一共有n-1个整数,我一开始想着用一个计数器,当有一个新的整数时,就给计数器+1,最后看是否等于n-1。于是就写出了如下代码:

#include<bits/stdc++.h>
using namespace std; 
#define ll long long

bool a[10000005];

int main()
{
	int cnt = 0;
	int n;
	cin >> n;
	int b, c;
	cin >> b;
	for (int i = 1; i < n; ++i)
	{
		cin >> c;
		if (a[abs(b - c)] == 0)
		{
			a[abs(b - c)] = 1;
			++cnt;
		}
		b = c;
	}
	if (cnt == n - 1&& n!=1)
		cout << "Jolly";
	else
		cout << "Not jolly";
	return 0;
}

问题

后来一想,我这份代码并没有考虑n-1个数是否连续的情况,只是判断了有n-1的不同的"两个连续元素之间差的绝对值"罢了。(比如输入4 3 6 8 22应该是输出Not jolly,但我的程序输出Jolly)结果提交后居然AC了,惊。

希望这个问题可以得到解决。

2021/6/7 22:50
加载中...