답안 #68916

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
68916 2018-08-19T08:53:26 Z Abelyan Spiral (BOI16_spiral) C++17
0 / 100
3 ms 392 KB
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <cassert>
#include <climits>
#include <cstdio>
using namespace std;

typedef long long ll;

ll dist(int x, int y, int xx, int yy) {
	return abs(xx - x) + abs(yy - y);
}

const ll MOD = 1000000007;

int main() {
	//freopen("input.txt", "r", stdin);
	ios_base::sync_with_stdio(false);
	ll n;
	int m;
	cin >> n >> m;

	for (int i = 0; i < m; i++) {
		int x, y;
		cin >> x >> y >> x >> y;
		if (x == 0 && y == 0) {
			cout << 1 << endl;
			continue;
		}
		int k = max(abs(x), abs(y));
		if (abs(x) >= abs(y) && x<0 || abs(y)>=abs(x) && y < 0) {
			ll ans = ((ll)2 * (ll)k + (ll)1)*((ll)2 * (ll)k + (ll)1) - dist(k, -k, x, y);
			cout << ans%MOD << endl;
		}
		else {
			ll ans = ((ll)2 * ((ll)k-(ll)1) + (ll)1)*((ll)2 * ((ll)k - (ll)1) + (ll)1) + dist(k, -k, x, y);
			//cout << dist(k, -k, x, y) << endl;
			cout << ans%MOD << endl;
		}
	}

	//system("pause");
	return 0;
}

Compilation message

spiral.cpp: In function 'int main()':
spiral.cpp:34:24: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   if (abs(x) >= abs(y) && x<0 || abs(y)>=abs(x) && y < 0) {
       ~~~~~~~~~~~~~~~~~^~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 248 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 356 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 248 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 392 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 248 KB Output isn't correct