码迷,mamicode.com
首页 > Windows程序 > 详细

AcWing 1351. 密码锁

时间:2021-02-01 12:23:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:col   做了   turn   ios   back   暴力   rgba   ret   get   

原题链接

考察:暴力枚举

完全是因为有容斥原理才做了这题,结果这题和容斥原理有啥关系...

思路:

       dfs枚举所有可能性

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <set>
 4 #include <vector>
 5 using namespace std;
 6 typedef long long ll;
 7 vector<int> v[10],t;
 8 set<vector<int> > s;
 9 void dfs(int k,int sz)
10 {
11     if(sz==3)
12     {
13         s.insert(t);
14         return;
15     }
16     for(int i=0;i<v[k].size();i++)
17     {
18         t.push_back(v[k][i]);
19         dfs(k+1,sz+1);
20         t.pop_back();
21     }
22 }
23 int main()
24 {
25     int n;
26     scanf("%d",&n);
27     for(int i=1;i<=6;i++)
28     {
29         int x; scanf("%d",&x);
30         for(int d=-2;d<=2;d++)
31         {
32             if(x+d>0&&x+d<=n) v[i].push_back(x+d);
33             else if(x+d>n&&x+d-n>0&&x+d-n<=n) v[i].push_back(x+d-n);
34             else if(x+d<=0&&x+d+n<=n&&x+d+n>0) v[i].push_back(x+d+n);
35         }
36     }
37     dfs(1,0);
38     dfs(4,0);
39     ll ans = s.size();
40     printf("%lld\n",ans);
41     return 0;
42 }

 

AcWing 1351. 密码锁

标签:col   做了   turn   ios   back   暴力   rgba   ret   get   

原文地址:https://www.cnblogs.com/newblg/p/14350933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!