码迷,mamicode.com
首页 > 其他好文 > 详细

[编程题] 兵临城下

时间:2016-08-17 22:44:01      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

卢卡斯的驱逐者大军已经来到了赫柏的卡诺萨城,赫柏终于下定决心,集结了大军,与驱逐者全面开战。
卢卡斯的手下有6名天之驱逐者,这6名天之驱逐者各赋异能,是卢卡斯的主力。
为了击败卢卡斯,赫柏必须好好考虑如何安排自己的狂战士前去迎战。
狂战士的魔法与一些天之驱逐者的魔法属性是相克的,第i名狂战士的魔法可以克制的天之驱逐者的集合为Si(Si中的每个元素属于[0,5])。
为了公平,两名狂战士不能攻击同一个天之驱逐者。
现在赫柏需要知道共有多少种分派方案。
例:
S1={01},S2={23},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为2和编号为3的天之驱逐者,共有四种方案:02,03,12,13。
02---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为2的驱逐者;
03---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为3的驱逐者;
12---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为2的驱逐者;
13---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为3的驱逐者;
S1={01},S2={01},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,共有两种方案:01,10。

输入描述:
多组测试数据,请处理到文件结束。
对于每组测试数据:
第一行为一个整数N,代表狂战士的数量。
第二行为N个字符串,第i个字符串表示第i个狂战士能够克制的天之驱逐者的集合。
保证:
1<=N<=6,1<=每个字符串的长度<=6,且每个字符都是0~5中的一个数字。



输出描述:
输出一个整数,代表分配方案数

 

输入例子:
2
01 23
2
01 01
3
3 015 5

 

输出例子:
4
2
2


import java.util.Scanner;
 
public class Main {
 
    static int count = 0;
     
    public static void main(String[] args){
         Scanner scanner = new Scanner(System.in);
         while(scanner.hasNext()){
             int n = scanner.nextInt();
            // String string = scanner.nextLine();
             String strs[] = new String[n];
             for(int i=0;i<n;i++){
                 strs[i] = scanner.next();
             }
             int[] a = {0,0,0,0,0,0};
             count = 0;
             func(strs, n, 0, a);
             System.out.println(count);
              
         }
          
    }
     
    public static void func(String[] strs, int n, int t, int[] a) {
        if(t>=n){
            count++;
            return;
        }
        for(int i=0;i<strs[t].length();i++){
            int x = strs[t].charAt(i)-‘0‘;
            if(a[x] == 0){
                a[x] = 1;
                func(strs, n, t+1, a);
                a[x]=0;
                 
            }
            else
                continue;
        }
         
    }
}

[编程题] 兵临城下

标签:

原文地址:http://www.cnblogs.com/kimi9py/p/5782025.html

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