nyoj 109 数列转换(equal函数STL)
来源:互联网 发布:微盘软件下载 编辑:程序博客网 时间:2024/05/21 09:45
数列转换
- 描述
有一个数列a1,a2,a3...an,每次可以从中任意选三个相邻的数ai-1,ai , ai+1 ,进行如下操作(此操作称为“对ai进行操作”)
(ai-1,ai,ai+1)->(ai-1+ai,-ai,ai+ai+1)
给定初始和目标序列,是否能通过以上操作,将初始序列转换成为目标序列?例如,初始序列(1 6 9 4 2 0)目标序列(7 -6 19 2 -6 6)可经过如下操作:
(1 6 9 4 2 0)->( 1 6 13 -4 6 0)->(1 6 13 2 -6 6)->(7 -6 19 2 -6 6)
请你判断给定的初始状态和目标状态,输出Yes(能够转换)或No(不能转换)
- 输入
- 第一行是一个正整数N,表示测试数据的组数。(N<=100)
每组测试数据的第一行是一个整数M(3<=M<=1000),表示该组测试数据的起始状态与结束状态都有M个数。
每组测试数据的第二行是M个整数Ai(-1000<=Ai<=1000),表示起始状态。
每组测试数据的第三行是M个整数Bi(-1000<=Bi<=1000),表示终止状态。 - 输出
- 如果能够转换,输出Yes
如果不能转换,输出No - 样例输入
231 2 31 3 261 6 9 4 2 07 -6 19 2 -6 6
- 样例输出
NoYes
这个问题一眼看上去信息量很大,让我有点犯难,用了常规的办法去做,但是WA,后来查了算法书才知道其实用到了STL,C++有一个equal函数,存在algorithm头文件中,问题立马变的和A+B一样简单了!
代码:
#include<iostream>
#include<algorithm>
using namespace std;
int a[1001],b[1001];
int main()
{
int n,m,i;
cin>>n;
while(n--)
{
cin>>m;
for(i=0;i<m;i++)
{
cin>>a[i];
a[i]=a[i]+a[i-1];
}
for(i=0;i<m;i++)
{
cin>>b[i];
b[i]=b[i]+b[i-1];
}
sort(a,a+m);
sort(b,b+m);
if(equal(a,a+m-1,b))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
错误代码:
#include<iostream>
using namespace std;
int a[1001],b[1001];
int main()
{
int n,m,i,t;
cin>>n;
while(n--)
{
cin>>m;
for(i=0;i<m;i++)
cin>>a[i];
for(i=0;i<m;i++)
cin>>b[i];
for(i=1,t=0;i<=m-2;i++)
{
if(a[i-1]==b[i-1])
continue;
else if(a[i-1]+a[i]==b[i-1])
{
a[i-1]+=a[i];
a[i]=-a[i];
a[i+1]+=a[i];
}
else
{
t=1;
break;
}
}
if(t==0)
cout<<"Yes\n"<<endl;
else
cout<<"No\n"<<endl;
}
}
- nyoj 109 数列转换(equal函数STL)
- 数列转换(nyoj 109)
- nyoj 109 数列转换
- nyoj 109 数列转换
- NYOJ 109数列转换
- nyoj-109 数列转换 (守恒定律)
- NYOJ-109 数列转换 AC
- NYOJ 109. 数列转换
- nyoj 461Fibonacci数列(四)(log10()函数)
- NYOJ Fibonacci数列(四)
- equal函数
- 学习STL算法:equal
- nyoj 461 Fibonacci数列(四)
- nyoj 333-法雷数列(一)
- NYOJ --法雷数列(一)
- STL MFC string转换函数
- NYOJ 366 D的小L(从小到大输出排列。STL,next_permutation()函数的学习)
- NYOJ 19 擅长排列的小明(dsf STL——next_permutation函数)
- 构建一个简单的基于MVC模式的JavaWeb
- 【面试题十四】调整数组顺序使奇数位于偶数前面
- [EasyUI] EasyUI安装
- unbutu下Qt4支持sqlite3数据库的设置
- 做自己的镜子
- nyoj 109 数列转换(equal函数STL)
- 【面试题十五】链表中倒数第k个结点
- CentOS下修改hosts文件
- iBtais 多重嵌套循环
- 我对美国与日本恐怖片的区别分析(国家性格角度)
- hdu1166敌兵布阵
- CentOS如何部署TinyProxy
- 【面试题十六】反转链表
- 我开通blog了