0
点赞
收藏
分享

微信扫一扫

天梯练习题:天梯赛座位分配

程序员漫画编程 2022-03-16 阅读 51

思路分析:

代码实现;

#include<bits/stdc++.h>
using namespace std;
int n,m,max1=0,sum=1,                                                                               flag=-1;
int book[101][101];
int ans[101][101];
int main()
{
	   cin>>n;
	
	for(int i=0;i<n;i++)
     {
		cin>>m;
		if(m>max1)
            max1=m;
		for(int j=0;j<m*10;j++)
          {
			book[i][j]=1;     
		}
	}	
	for(int i=0;i<max1*10;i++)
         for(int j=0;j<n;j++)
          {
			 if(book[j][i])
				if(flag!=j)
                    {
					ans[j][i]=sum++; 
					flag=j;
                    }
				else 
                    {
					sum++;
					ans[j][i]=sum++;
					flag=j;
				} 
		} 
	
	
	for(int i=0;i<n;i++){
		cout<<"#"<<i+1<<endl;
		for(int j=0;j<max1*10;j++)
			if(ans[i][j])
               {
                    if((j+1)%10)
				cout<<ans[i][j]<<" ";
                    else cout<<ans[i][j]<<endl;
			}
	}
	return 0;
}

 

举报

相关推荐

0 条评论