QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#244243 | #1273. It's All Squares | PhantomThreshold# | AC ✓ | 1437ms | 5364kb | C++20 | 1.7kb | 2023-11-08 22:10:40 | 2023-11-08 22:10:40 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int T;
cin>>T;
while(T--)
{
int n,m,q;
cin>>n>>m>>q;
vector<vector<int>> a(n+5,vector<int>(m+5));
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
vector<int> cnt(n*m+5),vis(n*m+5,q);
while(q--)
{
int x,y;
string s;
cin>>x>>y>>s;
int ud=0,lr=0;
int area=0;
for(auto ch:s)
{
if(ch=='U')
{
ud++;
area+=x;
y++;
}
else if(ch=='D')
{
ud++;
area-=x;
y--;
}
else if(ch=='L')
{
lr++;
x--;
}
else
{
lr++;
x++;
}
}
// cerr<<"!! "<<area<<endl;
if(area<0)
{
reverse(s.begin(),s.end());
for(auto &ch:s)
{
if(ch=='U')ch='D';
else if(ch=='D')ch='U';
else if(ch=='L')ch='R';
else ch='L';
}
}
int ans=0;
{
//use v
for(auto ch:s)
{
// cerr<<"go "<<ch<<endl;
if(ch=='U')
{
y++;
for(int i=x;i>=1;i--)
{
// cerr<<"add "<<i<<' '<<y<<endl;
if(vis[a[i][y]]!=q)vis[a[i][y]]=q,cnt[a[i][y]]=0;
cnt[a[i][y]]++;
if(cnt[a[i][y]]==1)ans++;
}
}
else if(ch=='D')
{
for(int i=x;i>=1;i--)
{
// cerr<<"del "<<i<<' '<<y<<endl;
if(vis[a[i][y]]!=q)vis[a[i][y]]=q,cnt[a[i][y]]=0;
cnt[a[i][y]]--;
if(cnt[a[i][y]]==0)ans--;
}
y--;
}
else if(ch=='L')
{
x--;
}
else
{
x++;
}
}
}
cout<<ans<<"\n";
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3460kb
input:
1 3 3 2 1 2 3 1 1 2 7 8 9 0 0 RRRUUULLLDDD 0 0 RRUULLDD
output:
6 2
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 1437ms
memory: 5364kb
input:
10 353 304 4000 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98...
output:
59 64 78 56 73 55 62 68 121 101 65 71 72 55 78 79 58 61 57 59 52 66 79 68 68 96 56 79 60 58 58 64 62 58 54 80 52 67 67 50 62 62 70 77 93 69 59 50 53 86 65 74 57 77 51 82 56 81 62 74 63 61 58 55 86 86 53 65 82 63 61 99 77 84 74 83 59 67 73 72 75 51 87 61 51 55 73 75 83 74 75 79 63 94 65 82 87 98 76 7...
result:
ok 217500 lines
Test #3:
score: 0
Accepted
time: 155ms
memory: 4792kb
input:
2 359 306 4000 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
66 68 94 59 81 59 58 48 50 90 60 75 46 87 64 65 57 80 69 47 82 60 81 80 50 59 62 65 51 60 56 73 48 57 78 81 52 67 79 51 67 52 58 69 108 48 68 90 89 86 44 82 70 80 59 83 41 90 78 51 71 74 64 74 83 59 78 86 56 68 66 80 73 50 94 68 63 86 74 61 100 76 58 78 59 99 82 69 64 101 65 54 47 64 83 55 68 75 85 ...
result:
ok 4600 lines