蒟蒻20PTS求调
查看原帖
蒟蒻20PTS求调
492114
wx__楼主2023/9/4 20:51
#include<bits/stdc++.h>
using namespace std;
int t,n,d,k,ans;
int fa[100090],jl[100090];
int main(){
	cin>>t;
	while(t--){
		cin>>n>>d>>k;
		for(int i=1;i<=n;i++) fa[i]=1;
		int qnq=2,ovo=0,ans=n-1;
		if(ans==d){
			cout<<"YES"<<endl;
			for(int i1=2;i1<=n;i1++)
				cout<<fa[i1]<<' ';
			cout<<endl;
			continue; 
		}
		while(1){
			int qwq=0;
			for(int i=n;i>=qnq+k;i--){
				qwq++,ans++,fa[i]=qnq;
				if(ans>d){
						cout<<"NO"<<endl;
						ovo=1;
						break;
				}
				if(qwq>=k&&ans==d){
						cout<<"YES"<<endl;
						for(int i1=2;i1<=n;i1++)
							cout<<fa[i1]<<' ';
						ovo=1;
						cout<<endl;
						break; 
				}
			}
			qnq++;
			if(ovo) break;
			if(qnq>n){
				cout<<"NO"<<endl;
				break;
			}
		}
	}
	return 0;
}

谢谢大佬

2023/9/4 20:51
加载中...