USACO Section 1.5

原创 2016年05月31日 17:32:15

USACO Section 1.5
Number Triangles

/*
    ID: beihai2013
    TASK: numtri
    LANG: C++
*/
/*简单DP*/
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 + 5;
int g[MAXN][MAXN], n;
int main()
{
    freopen("numtri.in", "r", stdin);
    freopen("numtri.out", "w", stdout);
    while(scanf("%d", &n) != EOF) {
        for(int i = 1 ; i <= n ; i++) {
            for(int j = 1 ; j <= i ; j++)
                scanf("%d", &g[i][j]);
        }
        for(int i = 1 ; i <= n ; i++) {
            for(int j = 1 ; j <= i ; j++) {
                g[i][j] += max(g[i - 1][j], g[i - 1][j - 1]);
            }
        }
        int res = 0;
        for(int i = 1 ; i <= n ; i++) res = max(res, g[n][i]);
        printf("%d\n", res);
    }
    return 0;
}

Prime Parlindrome

/*
    ID: beihai2013
    TASK: pprime
    LANG: C++
*/
/*
    先列出所有回文串,然后判断是否为素数
*/
#include <bits/stdc++.h>
using namespace std;
int l, r;
bool prime(int u)
{
    for(int i = 2 ; i <= sqrt(1.0 * u) ; i++) if(u % i == 0) return false;
    return true;
}
void dfs(int u, int cnt, int dep, int mark)
{
    if(cnt == dep) {
        int orgu = u;
        int tu = u; if(mark == 0) tu /= 10;
        while(tu) {
            u = u * 10 + tu % 10;
            tu /= 10;
        }
        if(u < l || u > r) return;
        if(prime(u)) {
            printf("%d\n", u);
//            printf("u = %d, orgu = %d, dep = %d, mark = %d\n", u, orgu, dep, mark);
//            system("pause");
        }
    }
    else {
        for(int i = 0 ; i < 10 ; i++) dfs(u * 10 + i, cnt + 1, dep, mark);
    }
}
void solve(int dep)
{
    for(int i = 0 ; i < 2 ; i++) {
        for(int j = 1 ; j < 10 ; j++) dfs(j, 1, dep, i);
    }
}
int main()
{
    freopen("pprime.in", "r", stdin);
    freopen("pprime.out", "w", stdout);
    while(scanf("%d%d", &l, &r) != EOF) {
        for(int len = 1 ; len <= 5 ; len++) {
            solve(len);
        }
    }
    return 0;
}

Superprime Rib

/*
    ID: beihai2013
    TASK: sprime
    LANG: C++
*/
/*
    暴力dfs,每一步判一下是否为质数
*/
#include <bits/stdc++.h>
using namespace std;
bool prime(int u)
{
    if(u == 1) return false;
    for(int i = 2 ; i <= sqrt(1.0 * u) ; i++) if(u % i == 0) return false;
    return true;
}
void dfs(int u, int cnt, int dep)
{
    if(u != 0 && !prime(u)) return;
    if(cnt == dep) {
        printf("%d\n", u);
        return;
    }
    for(int i = 1 ; i < 10 ; i++) {
        dfs(u * 10 + i, cnt + 1, dep);
    }
}
int main()
{
    freopen("sprime.in", "r", stdin);
    freopen("sprime.out", "w", stdout);
    int n;
    while(scanf("%d", &n) != EOF) {
        dfs(0, 0, n);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

USACO-Section 1.5 Prime Palindromes(Miller-Rabin)

由于USACO挂了,只得在NOCOW看题,没想到HINT原本是隐藏的,直接看了HINT后逃离不了这种思路。。。 由于回文数比质数还少,所以先构造回文数,再判断其是否为素数 题目比较简单,所以学习一下M...

USACO-Section 1.5 Superprime Rib(Miller-Rabin)

从最高位开始判断,由于一位数只有2,3,5,7是素数,所以枚举最高位,然后接下来每一位都必须是奇数,所以枚举1,3,5,7; 递归停止条件是:当前数不是素数 或 当前数是素数且是n位书

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

USACO Section 1.5 Number Triangles

题目原文 Number Triangles Consider the number triangle shown below. Write a program that calcula...

USACO Section 1.5 - Superprime Rib(DFS + 枚举)

题意 找出n位,每次去掉最后一位都是素数的数字。 思路 首先有几个特殊的数字。 1 9不能作为第一位。 2只能作为第一位。 其余的数字都不行。 ...

USACO-Section1.5 Prime Palindromes【暴力枚举】

题目描述:因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。 写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一...

USACO-Section1.5 Prime Palindromes

USACO-Section1.5 Prime Palindromes

USACO-Section1.5 Superprime Rib

2017-07-19题目大意: 农民约翰的母牛总是产生最好的肋骨。 你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨...

USACO Section 1.5 Prime Palindromes

题意: 输入a和b  求 a和b之间所有既是素数同时又有回文性质的数  从小到大输出 思路: 如果枚举a到b之间所有的数再判断素数和回文那么复杂度会比O(n)还大  本题O(n)都会跪 ...

USACO section 1.5 Checker Challenge(dfs深搜)

Checker ChallengeExamine the 6x6 checkerboard below and note that the six checkers are arranged on t...

USACO Section 1.5 Checker Challenge

题意: N皇后问题  输出  字典序最小的3种解法 和 解的数量 思路: dfs去放皇后判断和前面的皇后是否冲突 题目时间卡的超级很近!!  简单的搜索一定跪  能剪的地方要拼命剪枝!...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)