QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#412813 | #677. Koala Game | ASGA_RedSea# | Compile Error | / | / | C++20 | 4.6kb | 2024-05-16 19:47:43 | 2024-05-16 19:47:43 |
Judging History
This is the latest submission verdict.
- [2024-05-16 19:47:43]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [2024-05-16 19:47:43]
- Submitted
answer
/**
* بسم الله الرحمن الرحيم *
﴾ رَبِّ اشْرَحْ لِي صَدْرِي * وَيَسِّرْ لِي أَمْرِي * وَاحْلُلْ عُقْدَةً مِّن لِّسَانِي * يَفْقَهُوا قَوْلِي ﴿
*/
/// author : "ASGA"
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
int r,c;
vector <vector <int>> a;
vector <pair <int,int>> ll,rr,lr;
void init(int R,int C,int sr,int sc,int m,char* s){
r = R;c = C;
a = vector <vector <int>> (r,vector <int> (c,0));
sr--;sc--;
for(int i = 0;i < m;i++){
a[sr][sc] = 1;
if(s[i] == 'N')sr--;
else if(s[i] == 'S')sr++;
else if(s[i] == 'E')sc++;
else sc--;
}
a[sr][sc] = 1;
if(r == 2){
for(int i = 0;i < c;i++){
if(a[0][i] == 0){
int j = i;
while(j < c && a[0][j] == 0)j++;
ll.push_back({i,j - 1});
i = j - 1;
}
}
for(int i = 0;i < c;i++){
if(a[1][i] == 0){
int j = i;
while(j < c && a[1][j] == 0)j++;
rr.push_back({i,j - 1});
i = j - 1;
}
}
for(int i = 0;i < c;i++){
if(a[0][i] == 0 || a[1][i] == 0){
int j = i + 1;
while(j < c && ((a[0][j] == 0 && a[0][j - 1] == 0) || (a[1][j] == 0 && a[1][j - 1] == 0)))j++;
lr.push_back({i,j - 1});
i = j - 1;
}
}
}
return;
}
vector <vector <int>> v;
int ar,ac,br,bc;
vector <int> dx = {0,0,1,-1},dy = {1,-1,0,0};
void calc(int i,int j){
v[i][j] = 1;
for(int k = 0;k < 4;k++){
int x = i + dx[k];
int y = j + dy[k];
if(ar <= x && x <= br && ac <= y && y <= bc && v[x][y] == 0 && a[x][y] == 0)calc(x,y);
}
}
int colour(int AR,int AC,int BR,int BC){
ar = AR;ac = AC;br = BR;bc = BC;
ar--;ac--;br--;bc--;
int ans = 0;
if(r == 2){
if(ar == 0 && br == 1){
int i = lower_bound(lr.begin(),lr.end(),make_pair(ac,0)) - lr.begin();
int j = upper_bound(lr.begin(),lr.end(),make_pair(bc,0)) - lr.begin();
j--;
ans = max(ans,j - i + 1);
if(i > 0 && ac <= lr[i - 1].second && lr[i - 1].second <= bc)ans++;
}
else if(ar == 0){
int i = lower_bound(ll.begin(),ll.end(),make_pair(ac,0)) - ll.begin();
int j = upper_bound(ll.begin(),ll.end(),make_pair(bc,0)) - ll.begin();
j--;
ans = max(ans,j - i + 1);
if(i > 0 && ac <= ll[i - 1].second && ll[i - 1].second <= bc)ans++;
}
else{
int i = lower_bound(rr.begin(),rr.end(),make_pair(ac,0)) - rr.begin();
int j = upper_bound(rr.begin(),rr.end(),make_pair(bc,0)) - rr.begin();
j--;
ans = max(ans,j - i + 1);
if(i > 0 && ac <= rr[i - 1].second && rr[i - 1].second <= bc)ans++;
}
}
else{
v = vector <vector <int>> (r,vector <int> (c,0));
for(int i = 0;i < r;i++){
for(int j = 0;j < c;j++){
if(ar <= i && i <= br && ac <= j && j <= bc && v[i][j] == 0 && a[i][j] == 0){
ans++;
calc(i,j);
}
}
}
}
return ans;
}
/*
void playRound(int *a,int *b);
int minValue(int n,int w){
int b[n]{},r[n]{};
for(int i = 0;i < n;i++)b[i] = r[i] = 0;
b[0] = 1;
playRound(b,r);
if(r[0] <= 1)return 0;
for(int i = 1;i < n;i++){
if(r[i] == 0)return i;
}
}
int maxValue(int n,int w){
;
}
bool greaterValue(int n,int w){
int b[n + 1];
int r[n + 1];
for(int i = 0;i < n;i++)b[i] = r[i] = 0;
;
playRound(b,r);
return (r[0] == w ? 0 : 1);
}
void allValues(int n,int w,int p[]){
for(int i = 0;i < n;i++)p[i] = i + 1;
}
*/
//signed main(){
// ios_base::sync_with_stdio(0);cin.tie();
//
// int n,m,k;cin >> n >> m >> k;
// vector <vector <pair <int,int>>> a(n,vector <pair <int,int>> (k));
// for(auto& i : a){
// for(auto& [j,k] : i)cin >> j >> k;
// }
//
// vector <vector <pair <int,int>>> g(n + 1);
// while(m--){
// int u,v,w;cin >> u >> v >> w;
// g[u].push_back({v,w});
// }
//
// ;
//
// return 0;
//}
詳細信息
implementer.cpp: In function ‘void grader()’: implementer.cpp:138:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 138 | fscanf(fin, "%d %d %d",&F,&G,&maxQueries); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ implementer.cpp: In function ‘void runGame(int)’: implementer.cpp:89:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 89 | fscanf(fin,"%d %d",&N,&W); | ~~~~~~^~~~~~~~~~~~~~~~~~~ implementer.cpp:91:15: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 91 | fscanf(fin,"%d",&P[i]); | ~~~~~~^~~~~~~~~~~~~~~~ /usr/bin/ld: /tmp/ccHx1Hj7.o: in function `runGame(int)': implementer.cpp:(.text+0x127): undefined reference to `minValue(int, int)' /usr/bin/ld: implementer.cpp:(.text+0x15d): undefined reference to `allValues(int, int, int*)' /usr/bin/ld: implementer.cpp:(.text+0x1b7): undefined reference to `maxValue(int, int)' /usr/bin/ld: implementer.cpp:(.text+0x1e7): undefined reference to `greaterValue(int, int)' collect2: error: ld returned 1 exit status