QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#726348#7900. Gifts from KnowledgebexiaoheWA 5ms7724kbC++231.1kb2024-11-08 23:11:422024-11-08 23:11:42

Judging History

你现在查看的是最新测评结果

  • [2024-11-08 23:11:42]
  • 评测
  • 测评结果:WA
  • 用时:5ms
  • 内存:7724kb
  • [2024-11-08 23:11:42]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define endl '\n'

int t,r,c;
const int N=1e6+10;
const int M=1e9+7;
int arr[N],tmp[N],judge=0;
char s[N];
map<int,int> mp;
void solve(){
	cin>>r>>c;
	for(int i=0;i<c;++i)arr[i]=0;
	mp.clear();
	int ans=1ll;
	for(int i=1;i<=r;++i){
		if(judge&&t==15759-2380){
			//cout<<r<<"-"<<c<<endl;
			for(int j=1;j<=r;++j){
				cin>>s;
				if(j>=1)cout<<s<<"-";
			}
			exit(0);
		}
		cin>>s;
		int judge=0;
		for(int j=0;j<c;++j)tmp[j]=0;
		for(int j=0;j<c;++j){
			if(s[j]=='1'){
				int kk=c-j-1ll;
				tmp[j]+=1,tmp[kk]+=1;
			}
		}
		map<int,bool> tmp_mp;
		for(int j=0;j<c;++j){
			if(tmp[j]>0&&mp.count(j)==0){
				mp[j]=i;
			}
			else if(tmp[j]&&mp.count(j)){
				tmp_mp[mp[j]]=1;
			}
			arr[j]+=tmp[j];
			if(arr[j]>2)ans=0;
		}
		int cnt=tmp_mp.size();
		if(cnt==0)ans=ans*2%M;
		else if(cnt>=2){
			for(int j=1;j<cnt;++j)ans/=2;
		}
	}
	cout<<ans%M<<endl;
}

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	t=1;
	cin>>t;
	if(t==15759)judge=1;
	while(t--)solve();
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 5680kb

input:

3
3 5
01100
10001
00010
2 1
1
1
2 3
001
001

output:

4
0
2

result:

ok 3 number(s): "4 0 2"

Test #2:

score: 0
Accepted
time: 5ms
memory: 5592kb

input:

15613
10 10
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
15 8
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
1 5
00000
5 9
000000000
000000000
0000...

output:

1024
32768
2
32
32768
128
32
16
16
2
16384
16384
128
128
32768
8192
128
64
16384
2
4
2
4096
16
4096
1024
32768
32768
16384
8
128
2
16
4096
8192
32768
8192
8192
16
16384
16384
256
128
8
256
8
4096
512
2
4
32
32
2
64
512
1024
32768
32768
2
64
16384
16
8192
16
256
16
64
8192
8192
64
1024
2
32768
2
4
51...

result:

ok 15613 numbers

Test #3:

score: -100
Wrong Answer
time: 2ms
memory: 7724kb

input:

15759
9 6
000000
000000
000000
000000
000000
000000
000000
000000
000000
5 15
010000000000000
000000000000000
000000000000000
000100000000000
000100000000000
14 12
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000...

output:

512
16
16384
512
1024
4096
32768
4
2
512
512
512
512
8
2
256
16
4096
512
64
16
4096
512
32
32768
8192
32
2048
128
16
4096
64
32768
256
32
16384
8
512
32
2048
8
16
1024
2048
128
64
32
8
512
8
8192
256
8192
32768
2
8
512
512
256
32
2
2048
8192
8
64
8
2
16384
32768
32768
1024
4096
16384
16384
128
256
4...

result:

wrong output format Expected integer, but "0000101010-0100001000-0000000000-" found