1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 5 #define RE register 6 #define FOR(i,a,b) for(RE int i=a;i<=b;++i) 7 #define sc(n) scanf("%d",&n) 8 9 using namespace std; 10 11 int m,mp[21][3],cnt,vis[21],ans[21]; 12 13 void dfs(int d,int k) 14 { 15 if(k==21) 16 { 17 if(mp[d][0]!=m&&mp[d][1]!=m&&mp[d][2]!=m)return; 18 printf("%d: %d ",++cnt,m); 19 FOR(i,2,20)printf("%d ",ans[i]); 20 printf("%d\n",m);return; 21 } 22 FOR(i,0,2) 23 if(!vis[mp[d][i]]) 24 { 25 ans[k]=vis[mp[d][i]]=mp[d][i]; 26 dfs(ans[k],k+1); 27 vis[mp[d][i]]=0; 28 } 29 } 30 31 int main() 32 { 33 FOR(i,1,20)sc(mp[i][0]),sc(mp[i][1]),sc(mp[i][2]),sort(mp[i],mp[i]+3); 34 while(sc(m),m)memset(vis,0,sizeof vis),cnt=0,vis[m]=1,dfs(m,2); 35 return 0; 36 }
hdu-2181
猜你喜欢
转载自www.cnblogs.com/2aptx4869/p/12216651.html
今日推荐
周排行