Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- //using namespace SexuallyTransmittedDisease;
- int licznik=0;
- void printer(int x1, int y1, int x2, int y2, bool rotator){
- if(!rotator){
- printf("%d %d %d %d\n", x1+1, y1+1, x2+1, y2+1);
- //std::cout<<x1+1<<" "<<y1+1<<" "<<x2+1<<" "<<y2+1<<"\n";
- }
- else{
- printf("%d %d %d %d\n", y1+1, x1+1, y2+1, x2+1);
- //std::cout<<y1+1<<" "<<x1+1<<" "<<y2+1<<" "<<x2+1<<"\n";
- }
- licznik++;
- }
- int main()
- {
- int y,x,k;
- std::cin>>y>>x>>k;
- if((x==1&&y==1)||((x==1||y==1)&&k!=(x*y-1)))
- std::cout<<"NIE\n";
- else if(x==1){
- for(int a=0;a<y-1;a++){
- printer(0, a, 0, a+1, 1);
- }
- }
- else if(y==1){
- for(int a=0;a<x-1;a++){
- printer(0, a, 0, a+1, 0);
- }
- }
- else if(x*y-1>=k&&x+y-2<=k&&!(x%2==0&&y%2==0&&k==(x+y-2))){
- std::cout<<"TAK\n";
- bool rotator=true;
- if(y%2==1&&k==(x+y-2)){
- int temp=x;
- x=y;
- y=temp;
- rotator=false;
- }
- int currDistance=x+y-2;
- int turn=-1;
- int xNow=x-1;
- int yNow=y-1;
- while(currDistance<k){
- currDistance++;
- if((xNow==0&&turn==-1)||(xNow==x-2&&turn==1)){
- turn=-turn;
- std::cout<<">";
- printer(xNow,yNow,xNow,yNow-1, rotator);
- yNow--;
- }
- else{
- std::cout<<">";
- printer(xNow, yNow, xNow+turn, yNow, rotator);
- xNow+=turn;
- }
- }
- int fullRows=(k-(x+y-2))/(x-1);
- int przecznica=(y+1-fullRows)/2-1;
- for(int a=0;a<x-1;a++)
- printer(a,przecznica,a+1,przecznica, rotator);
- for(int a=0;a<x-1;a++){
- //0 <- 1 ->
- int nastawienie=fullRows%2;
- int length=y-2-fullRows;
- std::cout<<x;
- if(nastawienie==0){
- if(a<=x-2-((k-(x+y-2))%(x-1))){
- length=y-1-fullRows;
- }
- else{
- length=y-2-fullRows;
- }
- }
- else{
- if(a<=((k-(x+y-2))%(x-1)-1)){
- length=y-2-fullRows;
- }
- else{
- length=y-1-fullRows;
- }
- }
- std::cout<<":"<<(k-(x+y-2))%(x-1)<<":"<<length;
- for(int b=0;b<length;b++){
- std::cout<<" ";
- printer(a,b,a,b+1, rotator);
- }
- }
- for(int a=0;a<y-1;a++){
- printer(x-1,a,x-1,a+1, rotator);
- }
- }
- else
- std::cout<<"NIE";
- std::cout<<licznik;
- return 0;
- }
- //Mewash OIojoj 2019
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement