#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int main(){
int n; scanf("%d",&n);
vector<int> v(n+1);
for(int i = 1; i <= n; i++){
scanf("%d",&v[i]);
}
for(int i = 1; i <= n; i++){
for(int j = i+1; j <= n; j++){
vector<int> lie, a(n+1,1);
a[i] = a[j] = -1;
for(int k = 1; k <= n; k++)
if(v[k] * a[abs(v[k])] < 0) lie.push_back(k);
if(lie.size() == 2 && a[lie[0]] + a[lie[1]] == 0){
cout<<i<<" "<<j;
return 0;
}
}
}
cout<<"No Solution";
return 0;
}
这是一个使用C++编写的程序,主要涉及数组和向量的操作,通过输入一组整数,程序将检查是否存在两个元素使得它们的绝对值相等但符号相反。如果找到这样的元素,程序将输出这两个元素的位置;如果没有找到,则输出No Solution。
132

被折叠的 条评论
为什么被折叠?



