#include<bits/stdc++.h>
using namespace std;
int Map[106][106];
int Vis[106][106];
int Num[106][106];
int T;
const int step[2][2] = {1,0,0,1}; void Init()
{
memset(Map,0,sizeof(Map));
memset(Vis,0,sizeof(Vis));
memset(Num,0,sizeof(Num));
} struct Node {
int x, y;
Node(int _x = 0, int _y = 0) :\
x(_x), y(_y) {}
}; int BFS(int n)
{
Num[0][0] = Map[0][0];
Node Begin(0,0);
queue<Node> Q;
Q.push(Begin);
while(!Q.empty())
{
Node c = Q.front();
Q.pop();
int s = Num[c.x][c.y];
for(int i = 0; i < 2; ++i)
{
int xx = c.x + step[i][0];
int yy = c.y + step[i][1];
//cout << Num[xx] << " " << Num[yy] <<endl;
if(xx < 0 || xx >= n || yy < 0 || yy >= n) continue;
if(s + Map[xx][yy] > Num[xx][yy])
{
//cout << 1 <<endl;
Num[xx][yy] = s+Map[xx][yy];
Q.push(Node(xx,yy));
}
}
}
return Num[n-1][n-1];
} void RedMap(int n)
{
int bx = 0, by = 0;
for(int i = 1; i <= n; ++i)
{
int xx = bx, yy = by;
for(int j = 1; j <= i; ++j)
{
cin >> Map[xx][yy];
//cout << xx<< " " << yy << endl;
xx--, yy++;
}
bx++;
}
bx --, by ++;
for(int i = 1; i <= n-1; ++i)
{
int xx = bx, yy = by;
for(int j = 1; j <= n-i; ++j)
{
cin >> Map[xx][yy];
//cout << xx<<" " << yy << endl;
xx--, yy++;
}
by++;
}
}
int main()
{
int t, n;
cin >> t;
for(int kase = 1; kase <= t; ++kase)
{
cin >> n;
Init();
RedMap(n);
printf("Case %d: %d\n",kase, BFS(n));
/*for(int i = 0; i < n; ++i)
{
for(int j = 0; j < n; ++j)
cout << Num[i][j] << " ";
cout << endl;
}*/
}
}

LightOJ1004的更多相关文章

  1. [LightOJ1004]Monkey Banana Problem(dp)

    题目链接:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1004 题意:数塔的变形,上面一个下面一个,看清楚 ...

  2. lightoj1004【基础DP】

    从低端到顶端求个最大值: 思路: 基础DP,递推 #include<cstdio> #include<queue> #include<map> #include&l ...

随机推荐

  1. 绕不开的hadoop

    安装 jdk 1.8 # 官网下载可能比较慢,请自行搜索国内镜像源 wget http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a ...

  2. 【LeetCode】108. Convert Sorted Array to Binary Search Tree

    Problem: Given an array where elements are sorted in ascending order, convert it to a height balance ...

  3. PHP连接数据库实现多条件查询与分页功能——关于租房页面的完整实例操作

    租房页面如图: 代码如下: <!DOCTYPE html><html>    <head>        <meta charset="UTF-8& ...

  4. namecheap域名设置Cloudflare为第三方DNS

    待更……等我搞完了就来写总结

  5. ubuntu安装GBK编码

    1 添加GBK编码 sudo vim /var/lib/locales/supported.d/local en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK ...

  6. 检查CentOS7定时任务是否启用并执行过

    1 监控cron状态 service crontab status #如果没有开启执行 service crontab start 正常开启的状态 2 检查执行日志,过滤自己配置的定时任务脚本关键字 ...

  7. Setup Sight Sense

    调节感知组件参数 绑定视觉事件 PawnSensingComp->OnSeePawn.AddDynamic(this, &AFPSAIGuard::OnPawnSeen); 在头文件中声 ...

  8. shell编程 之 test命令

    shell编程里的测试test命令基本可以分为3种数据类型,每种都不一样.个人更倾向于理解为条件语句的写法规则,就是test加条件加判断语句. 1 数值类型 基本可以分为6个判断:-eq等于,-ne不 ...

  9. 20165234 《Java程序设计》第二周学习总结

    第二周学习总结 教材学习内容总结 第二章 标识符与关键字 1.标识符 其本质是文件名字. 由字母.下画线.美元符号和数字组成,长度不受限制. 标识符的第一个字符不能为数字,标识符不能为关键字(如int ...

  10. TensorFlow学习笔记之--[compute_gradients和apply_gradients原理浅析]

    I optimizer.minimize(loss, var_list) 我们都知道,TensorFlow为我们提供了丰富的优化函数,例如GradientDescentOptimizer.这个方法会自 ...