栈外提
  • 板块灌水区
  • 楼主lucy2012
  • 当前回复6
  • 已保存回复9
  • 发布时间2024/7/18 13:55
  • 上次更新2024/7/18 14:38:24
查看原帖
栈外提
1252442
lucy2012楼主2024/7/18 13:55

感觉代码打废了,大佬们有没有什么好的思路,清晰一点的告诉我,我都听着的喵。代码能调的话还是先调了。(洛谷虽然有和这一样名字的题目但内容一点都不一样)

代码:

#include<bits/stdc++.h>
using namespace std;
struct node{
	int l[3];
}b[10000010];
int a[7],cnt;
int main(){
	for(int i=1;i<=6;i++){
		cin>>a[i];
	}
    for(int i=6;i>=1;i--){
    	for(int j=1;j<=cnt;j++){
    		int tmp=0;
    		if(a[i]==0)
    		    break;
    		for(int k=0;k<3;k++){
    			if(6-b[j].l[k]<i){
    				tmp=1;
    				break;
				}
			}
			if(!tmp){
				for(int k=0;k<3;k++){
					b[j].l[k]+=i;
				}
				a[i]--;
			}	
		}
		while(a[i]!=0){
			cnt++;
			for(int j=0;(j+i<=6)&&a[i]!=0;j+=i){
				b[cnt].l[1]=b[cnt].l[2]=b[cnt].l[3]=j;
				a[i]--;
			}
		}
	}
	return 0;
}
2024/7/18 13:55
加载中...