Submission #2211065
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() const{
return this->v;
}
int getD() const{
return this->d;
}
int getC() const{
return this->c;
}
};
vector<int> painting(const int n, const vector<Operation> &operations, const vector<Vertice> &vertices){
vector<int> foo(n, -1);
vector<int> dst(n, 0);
vector<vector<int>> vst;
vst.resize(n);
for(vector<int> &row : vst){
row.resize(12);
for(int &cell : row){
cell=0;
}
}
for(size_t i=operations.size()-1; ~i; i--){
const Operation &operation=operations[i];
queue<Vertice*> que;
que.push((Vertice*)(&vertices[operation.getV()]));
dst[operation.getV()]=operation.getD();
for(; !que.empty(); que.pop()){
Vertice *u=que.front();
if(vst[u->getIndex()][dst[u->getIndex()]])continue;
vst[u->getIndex()][dst[u->getIndex()]]=1;
if(!~foo[u->getIndex()])
foo[u->getIndex()]=operation.getC();
if(dst[u->getIndex()]>0){
for(Vertice *v : u->getNeighbors()){
que.push(v);
dst[v->getIndex()]=dst[u->getIndex()]-1;
}
}
}
}
for(int &x : foo){
x=max(x, 0);
}
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 |
0 |
Code Size |
2913 Byte |
Status |
WA |
Exec Time |
250 ms |
Memory |
19456 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:92: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:98:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &q);
^
./Main.cpp:102: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 |
0 / 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 |
WA |
1 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 |
WA |
1 ms |
256 KB |
10_06.txt |
AC |
1 ms |
256 KB |
10_07.txt |
AC |
2 ms |
512 KB |
10_08.txt |
WA |
3 ms |
640 KB |
10_09.txt |
WA |
3 ms |
640 KB |
10_10.txt |
WA |
3 ms |
640 KB |
10_11.txt |
WA |
3 ms |
640 KB |
10_12.txt |
WA |
3 ms |
640 KB |
10_13.txt |
AC |
2 ms |
512 KB |
10_14.txt |
AC |
2 ms |
512 KB |
10_15.txt |
AC |
2 ms |
512 KB |
10_16.txt |
AC |
3 ms |
640 KB |
10_17.txt |
AC |
3 ms |
640 KB |
20_01.txt |
WA |
205 ms |
17396 KB |
20_02.txt |
WA |
238 ms |
17524 KB |
20_03.txt |
WA |
250 ms |
17396 KB |
20_04.txt |
WA |
24 ms |
2464 KB |
20_05.txt |
WA |
4 ms |
384 KB |
20_06.txt |
AC |
22 ms |
12160 KB |
20_07.txt |
AC |
4 ms |
512 KB |
20_08.txt |
AC |
30 ms |
2168 KB |
20_09.txt |
AC |
4 ms |
512 KB |
20_10.txt |
WA |
34 ms |
1912 KB |
20_11.txt |
WA |
45 ms |
2168 KB |
20_12.txt |
AC |
75 ms |
15040 KB |
20_13.txt |
AC |
158 ms |
16372 KB |
20_14.txt |
AC |
180 ms |
16116 KB |
20_15.txt |
AC |
176 ms |
19456 KB |
20_16.txt |
AC |
222 ms |
19456 KB |