博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10306 e-Coins
阅读量:7079 次
发布时间:2019-06-28

本文共 1137 字,大约阅读时间需要 3 分钟。

UVA_10306

    直接将x、y由小到大进行递推即可,对每个格子都尝试一下M个向量加法操作。

#include
#include
#define MAXM 50 #define MAXS 310 #define INF 1000000000 int M, S, x[MAXM], y[MAXM], f[MAXS][MAXS]; void init() {
int i; scanf("%d%d", &M, &S); for(i = 0; i < M; i ++) scanf("%d%d", &x[i], &y[i]); } void solve() {
int i, j, k, newx, newy, min; min = INF; for(i = 0; i <= S; i ++) for(j = 0; j <= S; j ++) f[i][j] = INF; f[0][0] = 0; for(i = 0; i <= S; i ++) for(j = 0; j <= S; j ++) if(f[i][j] != INF) {
if(i * i + j * j == S * S && f[i][j] < min) {
min = f[i][j]; continue; } for(k = 0; k < M; k ++) {
newx = i + x[k]; newy = j + y[k]; if(newx <= S && newy <= S && f[i][j] + 1 < f[newx][newy]) f[newx][newy] = f[i][j] + 1; } } if(min == INF) printf("not possible\n"); else printf("%d\n", min); } int main() {
int t; scanf("%d", &t); while(t --) {
init(); solve(); } return 0; }

转载地址:http://bypml.baihongyu.com/

你可能感兴趣的文章
加载AI,让好奇号学会了自我决策
查看>>
阿里云API应用创新大赛总决赛,强者之争即将开启
查看>>
用yum工具下载一个rpm包
查看>>
「镁客·请讲」杨毅:用全新“制阻系统”颠覆整个VR骑行
查看>>
poj1006生理周期(中国剩余定理)
查看>>
Linux & Oracle目录说明
查看>>
多线程、多进程区别
查看>>
keepalived的搭建
查看>>
spring-boot和redis的缓存使用
查看>>
linux中的中断处理方法
查看>>
yum安装haproxy
查看>>
nodeJS之fs文件系统
查看>>
矩阵元发布新一代区块链安全计算架构
查看>>
jira邮件自动提醒功能配置
查看>>
压力测试工具收集
查看>>
AIX6.1 升级OpenSSH(摘自网络)
查看>>
CPU负载观察及调优方法
查看>>
PV与并发之间换算的算法换算公式
查看>>
二叉树
查看>>
利用SSL/TLS中的SNI同一ip不同域名的F5vs配置解决方案
查看>>