1. 程式人生 > 其它 >洛谷 P2036 [COCI2008-2009#2] PERKET

洛谷 P2036 [COCI2008-2009#2] PERKET

題目連結 https://www.luogu.com.cn/problem/P2036

是一道簡單的bfs,沒有什麼可說的叭

一開始想用暴力,然後發現不會(Um......

資料範圍也小,反正bfs不會超時嘛

放AC程式碼

 1 #include<bits/stdc++.h>//令人快樂的萬能頭欸
 2 using namespace std;
 3 long long int s[12],t[12],f[12];//s酸度,t苦度,f記錄是否會被查詢
 4 long long int a=1,b=0,ans=9999999999,n;//n記錄最小值
 5 int dfs(int x)
 6 {
 7     if
(x>n)//大於n種不做操作 8 {} 9 else 10 { 11 for(int i=1;i<=n;i++) 12 { 13 if(f[i]==0)//如果第i個沒有被查詢過 14 { 15 a*=s[i]; 16 b+=t[i]; 17 ans=min(ans,abs(a-b)); 18 f[i]=1;//記錄第i個被查詢過 19 dfs(x+1
); 20 f[i]=0;//取消記錄 21 a/=s[i];//恢復初始狀態(回溯) 22 b-=t[i]; 23 } 24 } 25 } 26 } 27 int main() 28 { 29 ios::sync_with_stdio(false); 30 cin>>n; 31 for(int i=1;i<=n;i++) 32 cin>>s[i]>>t[i]; 33 dfs(1
); 34 cout<<ans; 35 }