题目链接:https://vjudge.net/problem/UVA-340#author=0
题解:初始化+标志变量
输出的是:数对并且位置也对,数对位置不对(这个地方这个数不一定只出现一次,多次出现也可以)
大致思路就是先遍历每个位置,如果数对,标志用过,
然后剩下的事位置不对的,再双重循环找相同数注意改变标志变量
代码:
#include
#include
#include
#define maxn 1100
using namespace std;
int real[maxn];
int guess[maxn];
bool fl[maxn];
int main()
{
int n,cou=0;
while(cin>>n&&n)
{
cou++;
for(int i=1; i<=n; i++)
cin>>real[i];
cout<<“Game “<<cou<<”:”<<endl;
for(; ; )
{
memset(fl,false,sizeof(fl));
int co=0;
int wr=0;
for(int i=1; i<=n; i++)
cin>>guess[i];
if(guess[n]==0)
break;
for(int i=1; i<=n; i++)
{
if(guess[i]==real[i])
{
guess[i]=0;
fl[i]=true;
co++;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(guess[i]==real[j]&&fl[j]==false)
{
wr++;
fl[j]=true;
guess[i]=0;
}
}
}
cout<<" ("<<co<<","<<wr<<")"<<endl;
}
}
return 0;
}
刷题4:Master-Mind Hints
最新推荐文章于 2022-09-06 17:28:09 发布