1179B - Tolik and His Uncle - CodeForces Solution


constructive algorithms *1800

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <functional>
#include <unordered_map>
#include <climits>
#include <unordered_set>

using namespace std;

typedef long long LL;

typedef pair<int, int> PII;
typedef vector<PII> PIIL;

class CF1179B {
public:
    void solve(int R, int C) {
        // PIIL ans;

        for (int top = 1, bottom = R; top < bottom; top++, bottom--) {
            // (top, 1) -> ... -> (bottom, 1)
            for (int i = 0, r = top, c = 1; i < C * 2; i++) {
                printf("%d %d\n", r, c);
                r = top + bottom - r;
                c += ((i % 2 == 0) ? 1 : -1) * (C - i - 1);
            }
        }

        if (R & 1) {
            int r = (R + 1) / 2;
            for (int i = 0, c = 1; i < C; i++) {printf("%d %d\n", r, c);
                c += ((i % 2 == 0) ? 1 : -1) * (C - i - 1);
            }
        }
        return;
    }
};

int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    CF1179B().solve(n, m);
//    for (auto p : CF1179B().solve(n, m)) {
//        printf("%d %d\n", p.first, p.second);
//    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

994. Rotting Oranges
983. Minimum Cost For Tickets
973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST
445. Add Two Numbers II
442. Find All Duplicates in an Array