uva 10795

来源:互联网 发布:c语言从小到大输出 编辑:程序博客网 时间:2024/06/05 23:52
#include <cstdio>using namespace std;#define MAX_N 100typedef long long ll;ll f(int *p, int i, int end){        if(i == 0) return 0;        if(p[i] == end){                return f(p , i-1, end);        }        return f(p, i-1, 6 - p[i] - end) + (1ll<< (i-1));}int n, start[MAX_N], end[MAX_N];int main(){        int kcase = 0;        while(scanf("%d", &n) == 1 && n){                for(int i = 1; i <= n; i++) scanf("%d", &start[i]);                for(int i = 1; i <= n; i++) scanf("%d", &end[i]);                int k = n;                while(k >= 1 && start[k] == end[k]) k--;                long long ans = 0;                if(k >= 1){                        int other = 6 - start[k] - end[k];                        ans = f(start, k-1, other) + f(end, k-1, other)+1;                }                printf("Case %d: %lld\n", ++kcase, ans);        }        return 0;}

0 0
原创粉丝点击