我对这个问题有问题,我不知道为什么我总是得到WA,我的代码是正确的,没有问题,我不知道问题在哪里,我在几个测试用例中测试它,但它成功了
#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector <int> num;
int n,temp,j=0;
cin>>n;
for(int i= 0 ; i<n ; i++)
{
cin>>temp;
num.push_back(temp);
}
for(int i=0; i<num.size() ; i++)
{
if(i+1 < num.size())
{
j++;
if(abs(num[i] - num[i+1]) != (n-j) && abs(num[i] - num[i+1]) !=(j))
{
cout<<"Not jolly"<<endl;
return 0;
}
}
}
cout<<"Jolly"<<endl;
}发布于 2013-12-02 16:58:40
你不正确地理解了问题。引用问题陈述的话
如果连续元素之间的差绝对值取所有值1到n-1,则一个n>0整数的序列称为快乐跳转。
因此:2 5 1 3 4也是N = 5的一个快乐序列。但是,您的程序输出它不是。
如果您从Uva在线裁判中解决了任务,那么可能还有一个问题--您只读取了一次输入,而在Uva中,它被写成:
每一行输入都包含一个整数n <= 3000,后面跟着代表序列的n个整数。
发布于 2021-05-08 12:23:28
验证您的帐户详细信息-单击GUVI菜单上的“此处代码”:学习用您的母语编写代码
高级DS - KPR1共享一种常见但不安全的加密文本的方法是使字母表中的字母保持不变。换句话说,字母表中的每一个字母在文本中都会被其他字母替换。为了确保加密是可逆的,不能用同一个字母替换两个字母。您的任务是解密几行编码的文本,假设每行使用一组不同的替换,并且解密文本中的所有单词都来自已知单词字典。
输入描述:输入由一个包含整数n的行组成,后面跟着n个小写单词,每一行一个,按字母顺序排列。这n个单词组成了可能出现在解密文本中的单词字典。字典后面是几行输入。如上文所述,每一行都是加密的。字典里不超过1000个单词。没有超过16个字母的单词。加密的行只包含小写字母和空格,长度不超过80个字符。
输出描述:解密每一行并将其打印到标准输出。如果有多种解决方案,任何人都可以。如果没有解决方案,请用星号替换字母表中的每个字母。
示例输入:6和踢jane puff点yertle gjvg xsb hxsn xsb qymm xsb pnetfn xxxx
代码编辑器
输入输出输入
https://stackoverflow.com/questions/20333327
复制相似问题