【?】交谊舞

Vijos 1062 交谊舞

题意:

n个人站一排,任意一对舞伴(男左女右)中间可能没人,也可能有好几对舞伴。

输入每个女生左边一共几个男生,输出该女生的舞伴是她左边第几个男生。

题解:

用p记录一共n对舞伴的位置(男生序号),输入女生左边男生数m后

    若p[m]=0,该女生左边紧挨男生,第m个男生即为她的舞伴;

    若p[m]=1,该女生左边有成对的舞伴,连续向左找到第一个没有舞伴的男生;

然后p[m]=1标记第m对已经有人占啦。

#include
using namespace std;
typedef unsigned long long llu;
int main()
{
    int n,m,p[5000]={0};
    cin>>n;
    for(int i=0;i>m;
        int sum=0,k=m;
        while(p[k]){sum+=1;k--;}
        if(i)cout<<' ';
        cout<

你可能感兴趣的:(【easy?】)