#include <iostream>
//void print(int* tab, int n){
// for(int i = 0; i < n; i++){
// std::cout<<tab[i]<<'|';
//
// }
// std::cout<<'\n';
//}
//Made by Kacper Filipiak 08.12.2020
int addColor(int color, int* pointer_to_element){
if(color == 3) color++;
if(*pointer_to_element == color || *pointer_to_element > 3){
return 0;
}else{
if(*pointer_to_element == 3){
if (color == 4){
*pointer_to_element += color;
return -1;
}else{
return 0;
}
}
*pointer_to_element += color;
if (*pointer_to_element == 3) return 1;
else return 0;
}
}
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
int n, m, start_index, end_index, color, sum = 0;
std::cin>>n>>m;
int* tab = new int[n]{0};
for(int i = 0; i < m; i++){
std::cin>>start_index>>end_index>>color;
for(int t = start_index - 1; t < end_index; t++){
// print(tab, n);
sum += addColor(color, &tab[t]);
//print(tab, n);
}
}
std::cout<<sum;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <iostream> //void print(int* tab, int n){ // for(int i = 0; i < n; i++){ // std::cout<<tab[i]<<'|'; // // } // std::cout<<'\n'; //} //Made by Kacper Filipiak 08.12.2020 int addColor(int color, int* pointer_to_element){ if(color == 3) color++; if(*pointer_to_element == color || *pointer_to_element > 3){ return 0; }else{ if(*pointer_to_element == 3){ if (color == 4){ *pointer_to_element += color; return -1; }else{ return 0; } } *pointer_to_element += color; if (*pointer_to_element == 3) return 1; else return 0; } } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int n, m, start_index, end_index, color, sum = 0; std::cin>>n>>m; int* tab = new int[n]{0}; for(int i = 0; i < m; i++){ std::cin>>start_index>>end_index>>color; for(int t = start_index - 1; t < end_index; t++){ // print(tab, n); sum += addColor(color, &tab[t]); //print(tab, n); } } std::cout<<sum; return 0; } |
English