首页 > 其他 > 详细

codeforces Round #252 (Div. 2) C - Valera and Tubes

时间:2014-06-10 00:32:56      阅读:615      评论:0      收藏:0      [点我收藏+]

贪心算法,每条路径最短2格,故前k-1步每次走2格,最后一步全走完

由于数据比较小,可以先打表

bubuko.com,布布扣
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;

typedef pair<int,int> Point;

int main(){
    int n, m, k, flag = -1;
    cin >> n >> m >>k;
    vector<Point> table;
    for(int i = 0 ; i < n ; ++i){
        flag*=-1;
        for(int j = 0; j < m; ++ j){
            table.push_back(Point(i,flag>0 ?  j : (m-1-j)));
        }
    }
    for(int i = 0 ; i <2*(k -1);  i+=2){
        cout<<2<<" "<<table[i].first+1<<" "<<table[i].second+1<<" "<<table[i+1].first+1<<" "<<table[i+1].second+1<<endl;
    }
    cout<<m*n-2*(k-1);
    for(int i = 2*(k-1); i < m*n; ++ i ){
        cout<<" "<<table[i].first+1<<" "<<table[i].second+1;
    }
    cout<<endl;
}
bubuko.com,布布扣

关于额外的信息, |xi?-?xi?+?1|?+?|yi?-?yi?+?1|?=?1,其实就是一个点的四连通区域,即上下左右4个点

codeforces Round #252 (Div. 2) C - Valera and Tubes,布布扣,bubuko.com

codeforces Round #252 (Div. 2) C - Valera and Tubes

原文:http://www.cnblogs.com/xiongqiangcs/p/3778676.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!