codeforces 390d Inna and Sweet Matrix
来源:互联网 发布:淘宝如何改主营类目 编辑:程序博客网 时间:2024/05/17 04:30
题目链接
题意:
给出n*m的空网格,以及k颗糖果,第一格是(1,1),从(1,1)出发,每次只能走相邻的网格,将糖果放到网格上,一旦放上就不可以移动,每放置一颗糖果需要走的距离就是从(1,1)到(i,j)的距离,即i+j-1
求放置k颗糖果所要走的最小距离
输出最小距离以及路径
注意:如果这个网格上已经有糖果放着了,就不能走过去,相当于存在一个障碍
解题思路:
从(1,1)走到对角线上的任意一点的最小距离是一样的
每次输出时,一条对角线从上往下输出,这样顺序就不会乱
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>using namespace std;#define ll __int64struct node{int x,y;}a[2505];bool cmp(node a,node b){return a.x+a.y<b.x+b.y;}int main(){int n,m,k;scanf("%d%d%d",&n,&m,&k);int p=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[p].x=i;a[p].y=j;p++;}}sort(a+1,a+n*m+1,cmp);//for(int i=1;i<=n*m;i++)//{//cout<<a[i].x<<" "<<a[i].y<<endl;//}int sum=0;for(int i=1;i<=k;i++){sum+=(a[i].x+a[i].y-1);}printf("%d\n",sum);for(int i=k;i>=1;i--){for(int j=1;j<=a[i].x;j++){printf("(%d,1) ",j);}for(int l=2;l<=a[i].y;l++){printf("(%d,%d) ",a[i].x,l);}cout<<endl;}return 0;}
0 0
- codeforces 390d Inna and Sweet Matrix
- Codeforces 390D Inna and Sweet Matrix(贪心)
- CF 390D:Inna and Sweet Matrix
- Codeforces 390 E. Inna and Large Sweet Matrix
- CodeForces 390E Inna and Large Sweet Matrix
- Codeforces #229 D2D: Inna and Sweet Matrix
- Codeforces 390E Inna and Large Sweet Matrix(树状数组)
- Codeforces 390E Inna and Large Sweet Matrix 树状数组改段求段
- CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)
- CF 390E - Inna and Large Sweet Matrix(TODO)
- codeforces Inna and New Matrix of Candies
- codeforces Inna and Huge Candy Matrix
- CodeForces 374 D. Inna and Sequence
- codeforces 400B. Inna and New Matrix of Candies
- Codeforces 400 C. Inna and Huge Candy Matrix
- Codeforces 400C Inna and Huge Candy Matrix(模拟)
- codeforces 400B - Inna and New Matrix of Candies
- codeforces 400C - Inna and Huge Candy Matrix
- Android Studio 学习01
- Android之NDK初探
- django-simple-captcha & jquery validate
- Git学习资源推荐
- android: failed to find provider info for downloads
- codeforces 390d Inna and Sweet Matrix
- MFC网络编程学习
- 微软100题,39题
- jQuery.Post到Struts2的action处理,并返回json对象到前端
- usb详解
- 在Linux操作系统上使用摄像头
- vim中注释多行python代码
- Jquery获取checkbox选中项的值
- Android 框架练成 教你打造高效的图片加载框架