Submission #2210541
Source Code Expand
#include "bits/stdc++.h"
using namespace std;
class Vertice{
private:
int idx;
vector<Vertice*> neighbors;
public:
void clear(){
this->neighbors.clear();
}
void addNeighbor(Vertice* neighbor){
this->neighbors.push_back(neighbor);
}
vector<Vertice*> &getNeighbors(){
return this->neighbors;
}
void setIndex(const int index){
this->idx=index;
}
int getIndex(){
return this->idx;
}
};
class Operation{
private:
int v, d, c;
public:
Operation(const int lhs, const int mhs, const int rhs){
this->v=lhs;
this->d=mhs;
this->c=rhs;
}
int getV(){
return this->v;
}
int getD(){
return this->d;
}
int getC(){
return this->c;
}
};
vector<int> painting(const int n, const vector<Operation> &operations, const vector<Vertice> &vertices){
vector<int> foo(n, 0);
vector<int> vst(n, -1);
vector<int> dst(n, 0);
int msk=0;
for(auto operation : operations){
queue<Vertice*> que;
que.push((Vertice*)(&vertices[operation.getV()]));
dst[operation.getV()]=operation.getD();
vst[operation.getV()]=msk;
for(; !que.empty(); que.pop()){
Vertice *u=que.front();
foo[u->getIndex()]=operation.getC();
if(dst[u->getIndex()]>0){
for(Vertice *v : u->getNeighbors()){
if(vst[v->getIndex()]!=msk){
que.push(v);
dst[v->getIndex()]=dst[u->getIndex()]-1;
vst[v->getIndex()]=msk;
}
}
}
}
msk++;
}
return foo;
}
int main(){
int n, m, q;
while(scanf("%d%d", &n, &m)!=EOF){
vector<Vertice> vertices;
vertices.resize(n);
for(int i=0; i<n; i++){
vertices[i].setIndex(i);
}
for(int i=0; i<m; i++){
int u, v;
scanf("%d%d", &u, &v);
u--;
v--;
vertices[u].addNeighbor(&vertices[v]);
vertices[v].addNeighbor(&vertices[u]);
}
scanf("%d", &q);
vector<Operation> operations;
for(int i=0; i<q; i++){
int v, d, c;
scanf("%d%d%d", &v, &d, &c);
operations.push_back(Operation(v-1, d, c));
}
vector<int> foo=painting(n, operations, vertices);
for(const int r : foo){
printf("%d\n", r);
}
}
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Splatter Painting |
User |
jki14 |
Language |
C++14 (GCC 5.4.1) |
Score |
200 |
Code Size |
2666 Byte |
Status |
TLE |
Exec Time |
2104 ms |
Memory |
11252 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:84:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &u, &v);
^
./Main.cpp:90:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &q);
^
./Main.cpp:94:40: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &v, &d, &c);
^
Judge Result
Set Name |
Sample |
Subtask1 |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
0 / 500 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
00_example_01.txt, 00_example_02.txt |
Subtask1 |
00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt |
All |
00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt, 20_01.txt, 20_02.txt, 20_03.txt, 20_04.txt, 20_05.txt, 20_06.txt, 20_07.txt, 20_08.txt, 20_09.txt, 20_10.txt, 20_11.txt, 20_12.txt, 20_13.txt, 20_14.txt, 20_15.txt, 20_16.txt |
Case Name |
Status |
Exec Time |
Memory |
00_example_01.txt |
AC |
1 ms |
256 KB |
00_example_02.txt |
AC |
1 ms |
256 KB |
10_01.txt |
AC |
2 ms |
256 KB |
10_02.txt |
AC |
1 ms |
256 KB |
10_03.txt |
AC |
1 ms |
256 KB |
10_04.txt |
AC |
1 ms |
256 KB |
10_05.txt |
AC |
1 ms |
256 KB |
10_06.txt |
AC |
1 ms |
256 KB |
10_07.txt |
AC |
1 ms |
384 KB |
10_08.txt |
AC |
6 ms |
384 KB |
10_09.txt |
AC |
5 ms |
384 KB |
10_10.txt |
AC |
6 ms |
384 KB |
10_11.txt |
AC |
6 ms |
384 KB |
10_12.txt |
AC |
6 ms |
384 KB |
10_13.txt |
AC |
2 ms |
384 KB |
10_14.txt |
AC |
2 ms |
384 KB |
10_15.txt |
AC |
2 ms |
384 KB |
10_16.txt |
AC |
36 ms |
512 KB |
10_17.txt |
AC |
38 ms |
512 KB |
20_01.txt |
TLE |
2104 ms |
9332 KB |
20_02.txt |
AC |
1986 ms |
11252 KB |
20_03.txt |
TLE |
2104 ms |
9332 KB |
20_04.txt |
AC |
106 ms |
1664 KB |
20_05.txt |
AC |
10 ms |
384 KB |
20_06.txt |
AC |
13 ms |
4480 KB |
20_07.txt |
AC |
7 ms |
512 KB |
20_08.txt |
AC |
1695 ms |
2168 KB |
20_09.txt |
AC |
5 ms |
512 KB |
20_10.txt |
AC |
136 ms |
1912 KB |
20_11.txt |
TLE |
2103 ms |
2168 KB |
20_12.txt |
AC |
57 ms |
7616 KB |
20_13.txt |
AC |
188 ms |
8948 KB |
20_14.txt |
AC |
223 ms |
8948 KB |
20_15.txt |
TLE |
2104 ms |
10480 KB |
20_16.txt |
TLE |
2104 ms |
10480 KB |