답안 #209214

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
209214 2020-03-13T12:33:49 Z mieszko11b 가로등 (APIO19_street_lamps) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>

using namespace std;

int n, q;
//~ char c[107][107];
int before[300007], last0[300007];
char c[300007];

int main() {
	scanf("%d%d", &n, &q);
	if(n <= 100 && q <= 100) {
		scanf(" %s", c[0] + 1);
		for(int i = 1 ; i <= q ; i++) {
			char comm[10];
			
			for(int j = 1 ; j <= n ; j++)	
				c[i][j] = c[i - 1][j];
			
			scanf(" %s", comm);
			if(comm[0] == 'q') {
				int a, b;
				scanf("%d%d", &a, &b);
				int res = 0;
				for(int j = 0 ; j < i ; j++) {
					bool ok = true;
					for(int k = a ; k < b ; k++)
						if(c[j][k] == '0')
							ok = false;
					if(ok) res++;
				}
				printf("%d\n", res);
			} else {
				int w;
				scanf("%d", &w);
				
				if(c[i][w] == '0') c[i][w] = '1';
				else c[i][w] = '0';
			}
		}
	}
	
	scanf(" %s", c + 1);
	memset(last0, -1, sizeof last0);
	
	for(int i = 1 ; i <= q ; i++) {
		char comm[10];
		scanf(" %s", comm);
		if(comm[0] == 'q') {
			int a, b;
			scanf("%d%d", &a, &b);
			int res = before[a];
			if(c[a] == '1')
				res += i - last0[a] - 1;
			printf("%d\n", res);
		} else {
			int w;
			scanf("%d", &w);
			if(c[w] == '1') {
				before[w] += i - last0[w] - 1;
				c[w] = '0';
			} else {
				last0[w] = i - 1;
				c[w] = '1';
			}
		}
	}
	
	return 0;
}

Compilation message

street_lamps.cpp: In function 'int main()':
street_lamps.cpp:13:24: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'int' [-Wformat=]
   scanf(" %s", c[0] + 1);
                ~~~~~~~~^
street_lamps.cpp:18:11: error: invalid types 'char[int]' for array subscript
     c[i][j] = c[i - 1][j];
           ^
street_lamps.cpp:18:25: error: invalid types 'char[int]' for array subscript
     c[i][j] = c[i - 1][j];
                         ^
street_lamps.cpp:28:16: error: invalid types 'char[int]' for array subscript
       if(c[j][k] == '0')
                ^
street_lamps.cpp:37:14: error: invalid types 'char[int]' for array subscript
     if(c[i][w] == '0') c[i][w] = '1';
              ^
street_lamps.cpp:37:30: error: invalid types 'char[int]' for array subscript
     if(c[i][w] == '0') c[i][w] = '1';
                              ^
street_lamps.cpp:38:16: error: invalid types 'char[int]' for array subscript
     else c[i][w] = '0';
                ^
street_lamps.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &q);
  ~~~~~^~~~~~~~~~~~~~~~
street_lamps.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf(" %s", c[0] + 1);
   ~~~~~^~~~~~~~~~~~~~~~~
street_lamps.cpp:20:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf(" %s", comm);
    ~~~~~^~~~~~~~~~~~~
street_lamps.cpp:23:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &a, &b);
     ~~~~~^~~~~~~~~~~~~~~~
street_lamps.cpp:35:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &w);
     ~~~~~^~~~~~~~~~
street_lamps.cpp:43:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf(" %s", c + 1);
  ~~~~~^~~~~~~~~~~~~~
street_lamps.cpp:48:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf(" %s", comm);
   ~~~~~^~~~~~~~~~~~~
street_lamps.cpp:51:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d%d", &a, &b);
    ~~~~~^~~~~~~~~~~~~~~~
street_lamps.cpp:58:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d", &w);
    ~~~~~^~~~~~~~~~