zoukankan      html  css  js  c++  java
  • 【USACO 1.4】Combination Lock

    /*
    TASK:combo
    LANG:C++
    URL:http://train.usaco.org/usacoprob2?a=E6RZnAhV9zn&S=combo
    SOLVE:自己做,想的是5*5*5*2-重复计算的。
    官方题解是超级简单地写个判断枚举每一种解是否可行(n^3),题目没给n的范围,我就认为不可以用O(n^3)的算法。
    */
    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    #define ll long long
    using namespace std;
    int n,a[30][40];
    ll ans=1;
    int main() {
        freopen("combo.in","r",stdin);
        freopen("combo.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=2;i++)
        for(int j=1;j<=3;j++)
            scanf("%d",&a[i][j]);
        ll s=min(5,n);
        if(n<=5)ans=s*s*s;
        else
        for(int j=1;j<=3;j++)
            ans*=s-min(s,(ll)min(abs(a[1][j]-a[2][j]),n-abs(a[1][j]-a[2][j])));
        
        printf("%lld
    ",s*s*s*2-ans);
    }
  • 相关阅读:
    git 本地仓库操作
    git学习一——Pro-Git
    React Router
    webpack详述
    webpack入门
    折半查找法
    String的常见操作(面试题)
    Java集合(五)—HashMap源码
    Java常见操作符
    Java随机数
  • 原文地址:https://www.cnblogs.com/flipped/p/5909883.html
Copyright © 2011-2022 走看看