#include <bits/stdc++.h>
using namespace std;
int dx[] = {-1,0,1,0};
int dy[] = {0,1,0,-1};
int m,n,f;
vector<pair<int,int>> l;
void solve(int x, int y, int s, int dir)
{
for(int i=1;i<=s;i++)
{
int xx = x + i * dx[dir];
int yy = y + i * dy[dir];
l.push_back({xx,yy});
}
x = x + s * dx[dir];
y = y + s * dy[dir];
if(s==1)
{
return;
}
for(int i=1;i<=s/2;i++)
{
int xs = x + i * dx[dir] + i * dx[(dir + 3) % 4];
int ys = y + i * dy[dir] + i * dy[(dir + 3) % 4];
l.push_back({xs,ys});
}
solve(x + (s / 2) * dx[dir] + (s / 2) * dx[(dir + 3) % 4], y + (s / 2) * dy[dir] + (s / 2) * dy[(dir + 3) % 4], s / 2, dir);
solve(x + (s / 2) * dx[dir] + (s / 2) * dx[(dir + 3) % 4], y + (s / 2) * dy[dir] + (s / 2) * dy[(dir + 3) % 4], s / 2, (dir + 3) % 4);
for(int i=1;i<=s/2;i++)
{
int xd = x + i * dx[dir] + i * dx[(dir + 1) % 4];
int yd = y + i * dy[dir] + i * dy[(dir + 1) % 4];
l.push_back({xd,yd});
}
solve(x + (s / 2) * dx[dir] + (s / 2) * dx[(dir + 1) % 4], y + (s / 2) * dy[dir] + (s / 2) * dy[(dir + 1) % 4], s / 2, dir);
solve(x + (s / 2) * dx[dir] + (s / 2) * dx[(dir + 1) % 4], y + (s / 2) * dy[dir] + (s / 2) * dy[(dir + 1) % 4], s / 2, (dir + 1) % 4);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
#ifdef home
freopen("nr.in","r",stdin);
freopen("nr.out","w",stdout);
#endif // home
cin>>m>>n>>f;
int rez = 0;
for(int i=1;i<=f;i++)
{
int x,y,s;
cin>>x>>y>>s;
l.push_back({x,y});
solve(x,y,s,0);
for(auto it : l)
{
rez += (__gcd(it.first - 1,it.second - 1) == 1);
}
l.clear();
}
cout<<rez<<'\n';
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
47 ms |
992 KB |
Output is correct |
2 |
Correct |
100 ms |
2520 KB |
Output is correct |
3 |
Correct |
2213 ms |
9408 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3761 ms |
35252 KB |
Output is correct |
2 |
Correct |
3657 ms |
34984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4715 ms |
34232 KB |
Time limit exceeded |
2 |
Execution timed out |
4792 ms |
34248 KB |
Time limit exceeded |
3 |
Execution timed out |
4783 ms |
34748 KB |
Time limit exceeded |
4 |
Execution timed out |
4753 ms |
35252 KB |
Time limit exceeded |
5 |
Execution timed out |
4732 ms |
34228 KB |
Time limit exceeded |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
4711 ms |
34804 KB |
Time limit exceeded |
2 |
Execution timed out |
4735 ms |
33472 KB |
Time limit exceeded |
3 |
Execution timed out |
4744 ms |
34076 KB |
Time limit exceeded |
4 |
Execution timed out |
4750 ms |
34740 KB |
Time limit exceeded |
5 |
Execution timed out |
4776 ms |
33464 KB |
Time limit exceeded |
6 |
Execution timed out |
4718 ms |
33724 KB |
Time limit exceeded |
7 |
Execution timed out |
4758 ms |
33712 KB |
Time limit exceeded |
8 |
Execution timed out |
4735 ms |
33460 KB |
Time limit exceeded |
9 |
Execution timed out |
4729 ms |
34996 KB |
Time limit exceeded |
10 |
Execution timed out |
4740 ms |
34436 KB |
Time limit exceeded |