全TLE的我belike:
查看原帖
全TLE的我belike:
1485425
Binah_OVO楼主2024/12/18 20:37

为啥进位穷举补豪过? 求调:

#include <bits/stdc++.h>
using namespace std;
int b[7],c[7],method[1005],w[7]={0,1,2,3,5,10,20};
int ans=0;
//void out(int a[])
//{
//	for(int i=1;i<=6;i++)
//		cout<<a[i]<<" ";
//	cout<<endl;
//}
int main()
{
	for(int i=1;i<=6;i++)
	{
		cin>>c[i];
		c[i]+=(c[i]==0); 
	}
	while(b[0]==0)
	{
		int total=0;
		for(int i=1;i<=6;i++)
			total+=b[i]*w[i];
		method[total]=1;
		int i=6;
		while(b[i]==c[i])
		{
			i--;
			b[i]=0;
		}
			
		b[i]++;
	}
	for(int i=1;i<=1000;i++)
		ans+=method[i];
//		cout<<method[i]<<" ";
	cout<<"Total="<<ans<<endl;
	return 0;
}
2024/12/18 20:37
加载中...