Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <functional>
- #include <algorithm>
- #include <iostream>
- #include <cstring>
- #include <cstdlib>
- #include <cassert>
- #include <sstream>
- #include <numeric>
- #include <string>
- #include <vector>
- #include <cstdio>
- #include <bitset>
- #include <cmath>
- #include <ctime>
- #include <queue>
- #include <stack>
- #include <map>
- #include <set>
- using namespace std;
- #define sz(a) (int)a.size()
- #define all(x) (x).begin(),(x).end()
- #define vi vector <int>
- #define pb push_back
- #define mp make_pair
- #define ll long long
- #define sc scanf
- #define pf printf
- #define f first
- #define s second
- const int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
- // /////////////////////////////////////////////////////////////////////
- int h, w, c;
- int col[100];
- int a[12][12];
- int main(){
- freopen("addictive.in", "r", stdin);
- freopen("addictive.out", "w", stdout);
- memset(a,0,sizeof(a));
- cin >> h >> w >> c;
- for(int i = 0; i < c; ++i)
- sc("%d", &col[i]);
- int cnt = 0;
- int x = 0, y = 0;
- int dir = 0;
- for(int i = 0; i < c; ++i){
- while(col[i]){
- a[x][y] = i + 1;
- if(dir == 0){
- if(y + 1 < w) y++;
- else{
- if(dir == 0){
- x ++;
- y = w - 1;
- }
- else
- {
- x++;
- y = 0;
- }
- dir = 1 - dir;
- }
- }
- else{
- if(dir == 1 && y - 1 >= 0) y--;
- else{
- if(dir == 0){
- x++;
- y = w - 1;
- }
- else{
- x++;
- y = 0;
- }
- dir = 1 - dir;
- }
- }
- col[i]--;
- }
- }
- for(int i = 0; i < h; ++i){
- for(int j = 0; j < w; ++j)
- pf("%d", a[i][j]);
- pf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement