Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // KOXEN ROBI CZARY
- //
- // Created by Dominik Smaga on 25/10/2016.
- // Copyright © 2016 Dominik Smaga. All rights reserved.
- //
- #include <iostream>
- #include <vector>
- #include <string>
- #include <climits>
- using namespace std;
- int last=0;
- struct blok{
- bool exist=false;
- int a=INT_MIN,b=INT_MAX;
- int oper=-1;
- };typedef blok blok;
- int first(blok T[], int x, int X){
- for(int i = x; i<=last;i++){
- if(T[i].exist==true){
- return i;
- }
- }
- return -1;
- }
- int select(blok T[], int x, int y, int X){
- int p1 = first(T,x,X);
- bool t;
- if(y-1>T[p1].a){
- cout << "first" << endl;
- t=(T, x, y+1, X, p1);
- if(t==true){
- return 0;
- }
- }
- if(T[p1].b > y+1){
- cout << "second" << endl;
- t=(T, x, y+1, X, p1);
- if(t==true){
- return 1;
- }
- }
- return 2;
- }
- bool test(blok T[], int x, int y, int X, int p1){
- if(y-1>T[p1+1].a){
- return true;
- }
- if(T[p1+1].b > y+1){
- return true;
- }
- return false;}
- int main(){
- int X,n,i;
- int up=0;
- int TempX, TempA, TempB;
- cin >> n >> X;
- blok *T;
- T = new blok[X];
- for(i=0;i<n;i++){
- cin >> TempX >> TempA >> TempB;
- T[TempX].exist = true;
- T[TempX].a = TempA;
- T[TempX].b = TempB;
- if(TempX > last){
- last = TempX;
- }
- }
- int x = 0, y = 0;
- int point=-1;
- while(x!=X && x!=last){
- point=select(T,x,y,X);
- if(point==0){
- y--;
- x++;
- cout << "down" << endl;
- }
- if(point==1){
- y++;
- x++;
- up++;
- cout << "up" << endl;
- }
- else{
- cout << "nope" << endl;
- }
- system("PAUSE");
- }
- cout << up;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement