求调
  • 板块学术版
  • 楼主Max_robot
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/20 11:15
  • 上次更新2024/7/20 12:42:55
查看原帖
求调
941628
Max_robot楼主2024/7/20 11:15
#include <bits/stdc++.h>
using namespace std;
long long a[1010];
long long f[1010][1010], t[1010];
long long ans, cnt, sum;
void input(){
	for(int i=1;i<=6;i++)
		cin>>a[i];
}
void work(){
	for(int i=1;i<=6;i++){
		if(i==1) cnt+=a[i];
		else if(i==2) cnt+=a[i]*2;
		else if(i==3) cnt+=a[i]*3;
		else if(i==4) cnt+=a[i]*4;
		else if(i==5) cnt+=a[i]*5;
		else cnt+=a[i]*6;
		sum+=a[i];
		for(int j=1;j<=a[i];j++)
			t[j]=i;
	}
	for(int i=1;i<=cnt;i++){
		for(int j=1;j<=sum;j++){
			if(t[j]==1) f[i][j]=f[i][j+t[j]];
			else if(t[j]==2) f[i][j]=f[i][j+t[j]];
			else if(t[j]==3) f[i][j]=f[i][j+t[j]];
			else if(t[j]==4) f[i][j]=f[i][j+t[j]];
			else if(t[j]==5) f[i][j]=f[i][j+t[j]];
			else f[i][j]=f[i][j+t[j]];
		}
	}
	for(int i=1;i<=6;i++)
		if(f[6][i]>0) ans++;
	cout<<"Total="<<ans<<endl;
}
int main() {
	input();
	work();
    return 0;
}
2024/7/20 11:15
加载中...