| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:不明白怎么会TLE的呢!测试数据全过呢!个人觉得用DFS比较简单啊!。In Reply To:不明白怎么会TLE的呢!测试数据全过呢!个人觉得用DFS比较简单啊!。 Posted by:lovexinbao at 2011-05-17 19:51:48 太好了!
> #include <stdarg.h>
> #include <iostream>
> #include <vector>
> using namespace std;
> vector<int> input_number;
> vector<int> zhsz;
> vector<bool> used;
> bool dfs(int left)
> {
> for(int i=0;i<int(zhsz.size());i++)
> {
> if(used[i]==true)
> {
> continue;
> }
> if(left==zhsz[i])
> {
> return true;
> }
> else if(left<zhsz[i])
> {
> continue;
> }
> else
> {
> used[i]=true;
> if(dfs(left-zhsz[i])==true)
> {
> return true;
> }
> else
> {
> used[i]=false;
> if(i==zhsz.size()-1)
> {
> return false;
> }
> }
> }
> }
> return false;
> }
> int main()
> {
> int jlcs=1;
> m1:
> int sum=0,js=0;
> input_number.clear();
> for(int i=0;i<6;i++)
> {
> int n;
> cin>>n;
> input_number.push_back(n);
> if(n==0)
> {
> js+=1;
> }
> }
> if(js==6)
> {
> goto m2;
> }
> for(int i=5;i>=0;i--)
> {
> for(int j=0;j<input_number[i];j++)
> {
> zhsz.push_back(i+1);
> used.push_back(false);
> sum+=i+1;
> }
> }
> if(dfs(sum/2)==true)
> {
> cout<<"Collection #"<<jlcs<<":"<<endl<<"Can be divided.";
> }
> else{
>
> cout<<"Collection #"<<jlcs<<":"<<endl<<"Can't be divided.";
> }
> jlcs+=1;
> goto m1;
> m2:
> system("pause");
>
> }
> 用DFS我感觉很好算! 不知道为什么TLE了
> 谁可以给组变态的数据!。。。
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator