http://codeforces.com/contest/1072/problem/D

bfs

走1步的最佳状态 -> 走2步的最佳状态 -> ……

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
#define minv 1e-6
#define inf 1e9
#define pi 3.1415926536
#define nl 2.7182818284
const ll mod=1e9+;//
const int maxn=2e3+; struct node
{
int x,y;
}q[maxn*][maxn]; int ci[maxn][maxn],g[maxn*];
char ch[maxn][maxn],s[maxn][maxn],str[maxn*]; int main()
{
int n,maxci,x,y,c,xx,yy,u,v,i,ii,j;
scanf("%d%d",&n,&maxci);
for (i=;i<=n;i++)
scanf("%s",s[i]+);
for (i=;i<=n;i++)
for (j=;j<=n;j++)
ch[i][j]='z'+; g[]=,q[][].x=,q[][].y=;
if (maxci== && s[][]!='a')
{
ci[][]=;
ch[][]=s[][];
}
else
{
ci[][]=maxci-(s[][]!='a');
ch[][]='a';
}
printf("%c",ch[][]); for (i=;i<=n+n-;i++)
{
ii=i-;
for (j=;j<=g[ii];j++)
{
x=q[ii][j].x;
y=q[ii][j].y;
c=ci[x][y];
if (x!=n)
{
xx=x+;
yy=y; if (c== && s[xx][yy]!='a')
{
u=;
v=s[xx][yy];
}
else
{
u=c-(s[xx][yy]!='a');
v='a';
} if (v<ch[xx][yy] || (v==ch[xx][yy] && u>ci[xx][yy]))
ci[xx][yy]=u,ch[xx][yy]=v;
} if (y!=n)
{
xx=x;
yy=y+; if (c== && s[xx][yy]!='a')
{
u=;
v=s[xx][yy];
}
else
{
u=c-(s[xx][yy]!='a');
v='a';
} if (v<ch[xx][yy] || (v==ch[xx][yy] && u>ci[xx][yy]))
ci[xx][yy]=u,ch[xx][yy]=v;
}
} v='z';
for (x=;x<=n;x++)
{
y=i+-x;
if (y>= && y<=n && ch[x][y]!='z'+)
{
if (ch[x][y]<v)
{
v=ch[x][y];
g[i]=;
q[i][].x=x,q[i][].y=y;
}
else if (ch[x][y]==v)
{
g[i]++;
q[i][g[i]].x=x,q[i][g[i]].y=y;
}
}
}
printf("%c",v);
}
return ;
}

Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path的更多相关文章

  1. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)

    Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...

  2. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path(字典序)

    https://codeforces.com/contest/1072/problem/D 题意 给你一个n*n充满小写字母的矩阵,你可以更改任意k个格子的字符,然后输出字典序最小的从[1,1]到[n ...

  3. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)D(思维,DP,字符串)

    #include<bits/stdc++.h>using namespace std;char c[2007][2007];char ans[4007];int s[2007][2007] ...

  4. (AB)Codeforces Round #528 (Div. 2, based on Technocup 2019 Elimination Round

    A. Right-Left Cipher time limit per test 1 second memory limit per test 256 megabytes input standard ...

  5. Codeforces Round #528 (Div. 2, based on Technocup 2019 Elimination Round 4) C. Connect Three 【模拟】

    传送门:http://codeforces.com/contest/1087/problem/C C. Connect Three time limit per test 1 second memor ...

  6. Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) C. Vasya and Golden Ticket 【。。。】

    任意门:http://codeforces.com/contest/1058/problem/C C. Vasya and Golden Ticket time limit per test 1 se ...

  7. Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) E. Vasya and Good Sequences(DP)

    题目链接:http://codeforces.com/contest/1058/problem/E 题意:给出 n 个数,对于一个选定的区间,区间内的数可以通过重新排列二进制数的位置得到一个新的数,问 ...

  8. Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)B. Personalized Cup

    题意:把一长串字符串 排成矩形形式  使得行最小  同时每行不能相差大于等于两个字符 每行也不能大于20个字符 思路: 因为使得行最小 直接行从小到大枚举即可   每行不能相差大于等于两个字符相当于  ...

  9. Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) C. Playing Piano

    题意:给出一个数列 a1 a2......an  让你构造一个序列(该序列取值(1-5)) 如果a(i+1)>a(i) b(i+1)>b(i) 如果a(i+1)<a(i)  那么b( ...

随机推荐

  1. jenkins中配置svn 出现absolute path is not allowed

    代码: 兵马未动,粮草先行 作者: 传说中的汽水枪 如有错误,请留言指正,欢迎一起探讨. 转载请注明出处. 想用jenkins作自动化部署tomcat. svn代码已经checkout到本地目录了(/ ...

  2. hdu 1263 水果 结构的排序+sort自定义排序

    水果 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  3. qa_model

    [code=python] import os import sys import time import numpy import shelve import theano import thean ...

  4. SCRUM 12.20

    以下为我们爬虫遇到问题的报告 我们团队的m2阶段原本计划是爬取美团的信息以支持我们的app对比功能,但在这一阶段遇到很多问题,主要表现如下: 美团反爬机制: 由于我们团队人员在事先并不知道美团具有反爬 ...

  5. PHP预防跨站脚本(XSS)攻击且不影响html代码显示效果

    什么是XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往 ...

  6. PAT 1036 跟奥巴马一起编程

    https://pintia.cn/problem-sets/994805260223102976/problems/994805285812551680 美国总统奥巴马不仅呼吁所有人都学习编程,甚至 ...

  7. [读书笔记]Linux命令行与shell编程读书笔记02 环境变量以及其他

    1. Linux的环境变量. 全局环境变量的查看 printenv 一个结果示例 XDG_SESSION_ID=354TERM=xtermSHELL=/bin/bashSSH_CLIENT=10.24 ...

  8. 简单对比一下不同Windows操作系统在相同硬件配置的情况下浏览器js引擎的性能

    最近部门进行Windows客户端的测试产品单点性能, 感觉不在通的windows版本以及浏览器内核的情况下性能可能有差异, 也一直没有找到一个比较好的对比工具, 今天用chrome的控制台简单测试了下 ...

  9. WebAssembly是什么?

    现在的JavaScript代码要进行性能优化,通常使用一些常规手段,如:延迟执行.预处理.setTimeout等异步方式避免处理主线程,高大上一点的会使用WebWorker.即使对于WebWorker ...

  10. 转《发布ionic应用到App Store的完整步骤 》

    当我们开发完一个应用,就到了发布到市场的时候,Android的打包比较简单,签名之后可以放在我们自己的服务器上,让用户扫描二维码来下载,而苹果的就比较麻烦了,如果内测可以通过蒲公英等内测分发平台,但是 ...