2013年12月11日 星期三

USACO 2013 November Contest, Bronze Problem 1. Combination Lock


/*
ID: 551100k1
LANG: C++
TASK: combo
*/
#include<stdio.h>
int s[105][105][105]={0};
int main(){
    freopen("combo.in","r",stdin);
    freopen("combo.out","w",stdout);
    int i,j,k,a,b,c,n,add=0;
    scanf("%d",&n);
    scanf("%d%d%d",&a,&b,&c);
    a--,b--,c--;
    for(i=a-2;i<=a+2;i++)
    for(j=b-2;j<=b+2;j++)
    for(k=c-2;k<=c+2;k++)
        s[(i+n)%n][(j+n)%n][(k+n)%n]=1;
    scanf("%d%d%d",&a,&b,&c);
    a--,b--,c--;
    for(i=a-2;i<=a+2;i++)
    for(j=b-2;j<=b+2;j++)
    for(k=c-2;k<=c+2;k++)
        s[(i+n)%n][(j+n)%n][(k+n)%n]=1;
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    for(k=0;k<n;k++)
    if(s[i][j][k])
        add++;
    printf("%d\n",add);
}

沒有留言:

張貼留言