免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
再チェック要素260の二次元アレイ
説明は、
[1 ... M、1 ... 2次元アレイを設けられる n]を含むM×n個の整数。異なる内のすべての要素かどうかを判断するためのアルゴリズムを記述します。
入力
データの複数のセットを、各データ線は、二次元アレイの入力後にM + 1、列の2次元配列の最初の行の数m及びnは、m個の挙動を有します。n = 0の場合であり、m = 0、入力端。
出力
出力に等しい要素の二次元アレイがある場合、各データラインの出力を「YES」、そうでなければ「NO」を出力します。
サンプル入力1
4 3
1 2 3
4 5 6
7 8 9
10 11 12である
。3 4
1 2 3 4
5 6 7 8
。1 11 10 9
0 0
の出力例。1
NO
YES
#include<iostream>
using namespace std;
int IsEqual(int a[20][20],int m,int n)
{
int i,j,p,k;
for(i=0;i<m;i++)
for(j=0;j<n-1;j++)
{
for(p=j+1;p<n;p++)
if(a[i][j]==a[i][p])
{
cout<<"YES"<<endl;
return 1;
}
for(k=i+1;k<m;k++)
for(p=0;p<n;p++)
if(a[i][j]==a[k][p])
{
cout<<"YES"<<endl;
return 1;
}
}
cout<<"NO"<<endl;
return 0;
}
int main()
{
int m,n,i,j;
while(cin>>m>>n&&m!=0&&n!=0)
{
int a[20][20];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
IsEqual(a,m,n);
}
return 0;
}