QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#608578#8031. GitignoreLJY_ljyWA 1ms4236kbC++112.8kb2024-10-03 23:21:212024-10-03 23:21:22

Judging History

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

  • [2024-10-03 23:21:22]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:4236kb
  • [2024-10-03 23:21:21]
  • 提交

answer

#include <iostream>
#include <cstdio>
#include <cstring>
#include <set>
#include <string>
#include <algorithm>
#include <map>
#include <vector>
using namespace std;

const int MAXN = 1e3 + 10;

int n, m, eid;
char str[MAXN];
string Str;
map<string, int> M[MAXN];
vector<int> G[MAXN];
set<int> Child[MAXN], Front;
bool used[MAXN];

int dfs(int k) { 
	if (!used[k]) return 1;
	else {
		int ans = 0;
		for (auto x: Child[k]) {
			ans += dfs(x);
		}
		return ans;
	}
}

int main() {
	int t;
	scanf("%d", &t);
	for (int u = 1; u <= t; u++) {
		for (int i = 0; i < MAXN; i++) used[i] = false;
		eid = 0;
		scanf("%d %d", &n, &m);
		for (int i = 0; i < MAXN; i++)
			M[i].clear();
		for (int i = 1; i <= n + m; i++) G[i].clear();
		for (int i = 1; i <= n; i++) {
			int cnt = 0;
			scanf("%s", str + 1);
			int len = strlen(str + 1);
			Str = "";
			bool flag = true;
			for (int j = 1; j <= len; j++) {
				if ('a' <= str[j] && str[j] <= 'z') {
					Str = Str + str[j];
				} else {
					cnt++;
					if (flag) {
						if (M[cnt][Str] == 0) {
							M[cnt][Str] = ++eid;
							flag = false;
						}
						G[i].push_back(M[cnt][Str]);
					} else {
						G[i].push_back(++eid);
						M[cnt][Str] = eid;
					}
					Str = "";
				}
			}
			cnt++;
			if (flag) {
				if (M[cnt][Str] == 0) {
					M[cnt][Str] = ++eid;
					flag = false;
				}
				G[i].push_back(M[cnt][Str]);
			} else {
				G[i].push_back(++eid);
				M[cnt][Str] = eid;
			}
		}
		for (int i = n + 1; i <= n + m; i++) {
			int cnt = 0;
			scanf("%s", str + 1);
			int len = strlen(str + 1);
			Str = "";
			bool flag = true;
			for (int j = 1; j <= len; j++) {
				if ('a' <= str[j] && str[j] <= 'z') {
					Str = Str + str[j];
				} else {
					cnt++;
					if (flag) {
						if (M[cnt][Str] == 0) {
							M[cnt][Str] = ++eid;
							flag = false;
						}
						G[i].push_back(M[cnt][Str]);
					} else {
						G[i].push_back(++eid);
						M[cnt][Str] = eid;
					}
					Str = "";
				}
			}
			cnt++;
			if (flag) {
				if (M[cnt][Str] == 0) {
					M[cnt][Str] = ++eid;
					flag = false;
				}
				G[i].push_back(M[cnt][Str]);
			} else {
				G[i].push_back(++eid);
				M[cnt][Str] = eid;
			}
		}
//		for (int i = 1; i <= n + m; i++) {
//			for (int j = 0; j < G[i].size(); j++)
//				cout << G[i][j] << " ";
//			cout << endl;
//		}
		for (int i = 0; i < MAXN; i++) Child[i].clear();
		Front.clear();
		for (int i = 1; i <= n; i++) {
			Front.insert(G[i][0]);
			for (int j = 0; j < G[i].size() - 1; j++)
				Child[G[i][j]].insert(G[i][j + 1]); 
		}
		for (int i = n + 1; i <= n + m; i++) {
			for (int j = 0; j < G[i].size() - 1; j++)
				used[G[i][j]] = true;
			used[G[i][G[i].size() - 1]] = true;
		}
		int Ans = 0;
		for (auto x:Front) {
			Ans += dfs(x);
		} 
		printf("%d\n", Ans);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
3 0
data/train
data/test
model
3 1
data/train
data/test
model
data/sample

output:

2
3

result:

ok 2 number(s): "2 3"

Test #2:

score: 0
Accepted
time: 1ms
memory: 3940kb

input:

5
0 10
szhps/mb/yz
szhps/mb/fb/rf/auw
szhps/or/ui
hy/xkd/k
szhps/mb/fb/rf/mu
cf/rnd/wjv/xdda
szhps/izh
gi
szhps/mb/fb/xwe
hy/xkd/jbq
0 20
gjy/imp/mxuvi/z/ao
gjy/s/zft/jxzm
gjy/ob/mwvf/la
gjy/imp/supe/oxne/p
gjy/ob/mwvf/eums/agfb
gjy/imp/mxuvi/z/anaj
gjy/ob/mwvf/eums/tv
gjy/ob/mwvf/eums/x/gg
gjy/s/ak...

output:

0
0
0
0
0

result:

ok 5 number(s): "0 0 0 0 0"

Test #3:

score: 0
Accepted
time: 1ms
memory: 3932kb

input:

6
0 14
evs
r/gvzgs/pbs/b/riip
r/gvzgs/brps
r/gvzgs/pbs/nj
r/gvzgs/bl/rhyx/var
hg/tdcl
r/gvzgs/pbs/fbs/rle
r/gvzgs/pt/ncvnc/le/zzpy
r/gvzgs/pbs/fbs/xf
wux/ts/jxc
bo/olh
mx/yuw
r/gvzgs/pt/ncvnc/le/gxv
bo/axyv
2 11
nt/tulqv
m/i/i
n
noqdi/lt
m/cim
noqdi/jnz
m/i/k
m/otb
m/i/gd
nt/ndxv
nt/x/hta
noqdi/rxbb...

output:

0
2
0
1
2
1

result:

ok 6 numbers

Test #4:

score: 0
Accepted
time: 1ms
memory: 3940kb

input:

5
6 10
j/yems/b/oqr/jl
usm/pa/wv
j/gj/uq
j/epdo/u
j/epdo/r
j/yems/fg
j/epdo/nbck
usm/nnbr/pik
usm/pa/nqf
j/e
usm/pa/kub
j/epdo/vvk/eno/zs/mtz
j/epdo/vvk/jvf
j/epdo/vvk/eno/rdgm
usm/pa/zp
j/epdo/fe/qc
3 9
qn/wiy/wneh
qn/wiy/uc
f/yp
dpb/dq
dpb/fv
dpb/fyvn
dpb/s/iias/ddu/fnx
jp/nu
dpb/s/odpn/nloco
f/kt...

output:

5
3
5
5
3

result:

ok 5 number(s): "5 3 5 5 3"

Test #5:

score: 0
Accepted
time: 1ms
memory: 3912kb

input:

5
5 7
v/uhh
v/sh/oc
v/sh/ah/emn
v/qisc/lrs/fu/hir
v/sh/ah/xtkr
v/sh/xa
v/qisc/lrs/fu/je
v/qisc/snm
qq
v/sh/ah/mlf/uw
v/qisc/iu
v/y/lj/cui
3 12
za
qojw/n
qojw/lzf/c/sk
qojw/lzf/f/vo
yr/m
qojw/lzf/f/jov/ii
qojw/o/c
cdzz/ytsg
ptcc
qojw/o/xu/yd
qojw/fk
cdzz/wos/ul
yr/pxw/pe
cdzz/pp/luyl
qojw/o/kvk
8 7
d...

output:

5
3
7
2
4

result:

ok 5 number(s): "5 3 7 2 4"

Test #6:

score: 0
Accepted
time: 1ms
memory: 4236kb

input:

5
2 12
yt/t/d
ksbj/ng/dt/uy/fkxj
ksbj/ng/dt/mu
ksbj/yp/ycqx/wab
yt/t/wi/aznd/yhw
wcx/ruyf/xl
yt/t/fb/xlo
wcx/ckg/lo/zdy
yt/u/oe
wcx/ckg/b/izg/p
ksbj/ng/dt/uy/o
yt/t/m
wcx/ruyf/cw
wcx/ckg/lo/v/o
10 11
fjj/hh
fjj/ssmj/ps/oqw
jl/tuk
fjj/jx/t/vz
jl/rqu/uxf/ep/gw/vsw
jl/rqu/uxf/yxa/hgi
jl/rqu/uxf/aj
jl/r...

output:

2
9
7
6
4

result:

ok 5 number(s): "2 9 7 6 4"

Test #7:

score: 0
Accepted
time: 1ms
memory: 3880kb

input:

6
6 9
gb/gbbf/zfc
gb/u/wi/lt
gb/nu/gr/qmm
gb/u/qk
gb/nryf
gb/a
gb/nu/wgk/pam
yic/hxk
gb/u/jbn
yic/fh
i/ega
gb/mb
yic/iqud
gb/af/n
yic/sfdkr
8 5
fxkx/ocp/k/v
ennb/yvds/tu/qp
fxkx/yf/vej/fyi/pn
fxkx/ocp/ools/l
u/kzfr/s/ra
fxkx/ocp/v
u/zziyn/c
u/zziyn/xh
ennb/zb
u/kzfr/s/vxa
fxkx/ocp/ools/ey/sj
ennb/qk...

output:

6
7
7
9
8
8

result:

ok 6 numbers

Test #8:

score: -100
Wrong Answer
time: 1ms
memory: 3996kb

input:

5
7 5
bwb/bi/ypkg
zqty/xmoe
bvj/k/op
bvj/c
eoi/vlg
ru/gtqpn/kgr/u
ru/gtqpn/qt
bvj/yr/gphz/jza
bvj/yzly
bvj/yr/gphz/seu/ngdk
ngz/zuo
ru/gtqpn/kgr/kl
12 3
h/rn/r/qw
h/rn/yh
h/ci/j/bix/o/ifn/izx
hw/hzpm/oiha
h/ci/j/fbd
hw/z
h/b
h/a/aglgu/o/w
h/ci/j/qk/vgg/sd
h/a/qcfl
h/a/fzv
h/rn/rfb
sb
h/ci/j/qk/mf
hw...

output:

7
8
8
16
5

result:

wrong answer 4th numbers differ - expected: '11', found: '16'