답안 #402666

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
402666 2021-05-12T08:23:18 Z keta_tsimakuridze Red-blue table (IZhO19_stones) C++14
0 / 100
293 ms 1356 KB
#include<bits/stdc++.h>
#define f first
//#define int long long
#define s second
#define pii pair<int,int>
using namespace std;
const int N=1e3+5,mod=1e9+7;
int t,n,m,red[N];
char a[N][N];
set<pii> s;
 main(){
	// t=1;
	cin >> t;
	while(t--){
		cin>>n>>m;
		
		for(int i=1;i<=m;i++) red[i] = 0;
		int B = m;
		int ans = B,cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++) a[i][j]='-';
		}
		for(int i=1;i<=n;i++){
			s.clear();
			for(int j=1;j<=m;j++) s.insert({red[j],j});
			for(int j=1;j<=m/2+1;j++) {
				pii c = *--s.end();
				if(c.f>=n/2+1) red[c.s]++,s.erase(c);
				else {
				pii c = *s.begin(); 
				s.erase(c);
				if(c.f+1==n/2+1) B--; red[c.s]++; }
				
			}
			if(i+B>ans) ans=i+B,cnt=i;
		}
		cout<<ans<<endl;
		s.clear();
		for(int i=1;i<=m;i++) red[i] = 0;
		for(int i=1;i<=cnt;i++){
			s.clear();
			for(int j=1;j<=m;j++) s.insert({red[j],j});
			for(int j=1;j<=m/2+1;j++) {
				pii c = *--s.end();
				if(c.f>=n/2+1) red[c.s]++,a[i][c.s] = '+',s.erase(c);
				else {
				pii c = *s.begin(); 
				s.erase(c);
				a[i][c.s] = '+';red[c.s]++;				 }
				
			}
		}	
		for(int i=1;i<=n;i++){
		
		for(int j=1;j<=m;j++) 
		cout<<a[i][j];
		cout<<endl;
		}
	}
}

Compilation message

stones.cpp:11:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   11 |  main(){
      |  ^~~~
stones.cpp: In function 'int main()':
stones.cpp:32:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   32 |     if(c.f+1==n/2+1) B--; red[c.s]++; }
      |     ^~
stones.cpp:32:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   32 |     if(c.f+1==n/2+1) B--; red[c.s]++; }
      |                           ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB in the table A+B is not equal to 2
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 332 KB in the table A+B is not equal to 2
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB in the table A+B is not equal to 2
# 결과 실행 시간 메모리 Grader output
1 Incorrect 281 ms 1356 KB Wrong answer in test 97 21: 112 < 116
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 293 ms 1340 KB in the table A+B is not equal to 46
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB in the table A+B is not equal to 2