노선도

Source Code C++ code format="cpp"
 * 1) include

using namespace std;

struct Station {   int x;    int r; };

bool IsGoodLine(Station* stations, int len) {   for(int j = 1; j < len - 1; j++) {       int width = stations[j+1].x - stations[j-1].x;

if(stations[j].r > width) {           return false; }   }

return true; }

int main {   int T;    cin >> T;

for(int i = 0; i < T; i++) {       int N;        cin >> N;

Station* stations = new Station[N];

for(int j = 0; j < N; j++) {           cin >> stations[j].x >> stations[j].r;        }

if(IsGoodLine(stations, N)) {           cout << "YES" << endl; }       else {           cout << "NO" << endl; }

delete[] stations; }

return 0; } code

Comment 생각보다 간단한 문제였다. 키포인트는 해당 역의 이름표의 길이가 주변 역과의 거리보다 크면 안된다는 사실...