| ||||||||||
| 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:这么简单的一道暴搜花了一上午,47ms,贴代码!!!In Reply To:这么简单的一道暴搜花了一上午,47ms,贴代码!!! Posted by:xuchang at 2010-12-20 10:52:10 > #include <iostream>
> #include <math.h>
>
> using namespace std;
>
> void search(int cur,int dep);
> bool find=false;
> int flip[16]={51200,58368,29184,12544,35968,20032,10016,4880,2248,1252,626,305,140,77,39,19};
> int count=0;
> int finalans=16;
> int main()
> {
> char c ;
> int value=0;
> for(int i=0;i<16;)
> {
> c=getchar();
> if(c=='b')
> {
> value+=pow(2.0,15-i);
> i++;
> }
> else if(c=='w')
> {
> i++;
> }
> else
> continue;
> }
> search(value,0);
> if(!find)
> cout<<"Impossible"<<endl;
> else
> cout<<finalans<<endl;
> system("pause");
> return 0;
> }
>
> void search(int cur,int dep)
> {
> if(cur==65535||cur==0)
> {
> find=true;
> if(count<finalans)
> finalans=count;
> }
> if(dep==16)
> return ;
> int temp=cur;
> cur=cur^flip[dep];
> count++;
> search(cur,dep+1);
> count--;
> search(temp,dep+1);
> }
>
牛!我表示,我还需努力,向你学习!
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator