This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <cmath>
#include <utility>
#include <algorithm>
#include <vector>
#include <stack>
using namespace std;
typedef pair<int,int> pii;
typedef long long ll;
#define mp make_pair
#define x first
#define y second
vector<pair<int,pii> > arr;
vector<pii> veki[200003];
stack<int> st;
int main () {
int n,t;
cin>>t;
cin>>n;
for(int i=1;i<n;i++){
char a;
cin>>a;
int b=int(a)-48;
veki[i].push_back(mp(i+1,b));
veki[i+1].push_back(mp(n+i,b));
}
char a;
cin>>a;
int b=int(a)-48;
veki[1].push_back(mp(n,b));
veki[n].push_back(mp(n+1,b));
for(int i=1;i<=n-3;i++){
int a,b,c;
cin>>a>>b>>c;
if(a>b) swap(a,b);
veki[a].push_back(mp(b,c));
veki[b].push_back(mp(n+a,c));
arr.push_back(mp(a,mp(1,-b)));
arr.push_back(mp(b,mp(-1,-a)));
}
sort(arr.begin(),arr.end());
int tr=1;
for(int i=0;i<arr.size();i++){
if(arr[i].y.x==1) st.push(-arr[i].y.y);
else{
if(st.top()==arr[i].x) st.pop();
else{
tr=0;
break;
}
}
}
if(!tr){
cout<<"neispravna triangulacija";
return 0;
}
for(int i=1;i<=n;i++){
if(veki[i].size()) sort(veki[i].begin(),veki[i].end());
}
for(int i=1;i<=n;i++){
for(int j=0;j<veki[i].size()-1;j++){
if(veki[i][j].y==veki[i][j+1].y){
tr=0;
break;
}
}
if(!tr) break;
}
if(!tr){
cout<<"neispravno bojenje";
}
else cout<<"tocno";
return 0;
}
Compilation message (stderr)
checker.cpp: In function 'int main()':
checker.cpp:47:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
47 | for(int i=0;i<arr.size();i++){
| ~^~~~~~~~~~~
checker.cpp:65:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
65 | for(int j=0;j<veki[i].size()-1;j++){
| ~^~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |