比赛 期末考试0 评测结果 AWWWWWWWWW
题目名称 学姐的下午茶 最终得分 10
用户昵称 KKZH 运行时间 0.026 s
代码语言 C++ 内存使用 3.75 MiB
提交时间 2026-02-07 09:34:42
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=3000;
const int mod=1e9+7;
struct node{
	int lx,rx,wei;
}tr[N];
int n,sym,in[30],cnt;
string s[30];
void build(int x){
	for(int x=1;;x++){
		int p=1;
		for(int i=1;i<=n;i++){
			if(s[i].size()<x) continue;
			p=0;
			int y=in[i];
			if(s[i][x-1]=='0'){
				if(tr[y].lx==0){
					tr[y].lx=++cnt;
				}
				in[i]=tr[y].lx;
			}
			if(s[i][x-1]=='1'){
				if(tr[y].rx==0){
					tr[y].rx=++cnt;
				}
				in[i]=tr[y].rx;
			}
	//		cout<<s[i]<<" "<<cnt<<" "<<s[i][x-1]<<endl;
		}
		if(p==1) break;
	}
} 
int main(){
	freopen("lowtea.in","r",stdin);
	freopen("lowtea.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>s[i];
		for(int j=0;j<s[i].size();j++){
			if(s[i][j]=='?'||sym==1){
				sym=1;
				break;
			}
		} 
	}
	if(sym==0){
		build(1);
		cout<<(cnt+1)%mod<<endl;
	}else{
		cout<<88;
	}
}