题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
string_all = {}; num = 1; try while 1 line = input('', 's'); string_all{num} = line; num = num + 1; end catch end path = {}; for jj = 1 : num -1 str_div = strsplit(string_all{jj},'\'); str_div_2 = strsplit(str_div{end},' '); path_now = char(str_div_2{1}); if length(path_now) <=16 path{jj} = path_now; else path{jj} = path_now(end-15:end); end num_hang(jj) = str2num(str_div_2{2}); end cal = []; num_1 = 1; for kk = 1 : num - 2 path_1 = char(path{kk}); for kk1 = kk+1 : num -1 path_2 = char(path{kk1}); if strcmp(path_1, path_2) && num_hang(kk) == num_hang(kk1); cal(num_1,:) = [kk,kk1]; num_1 = num_1 + 1; end end end out_end = {}; out_num = ones(num-1,1); for kk = 1 : size(cal,1) out_num(cal(kk,1)) = out_num(cal(kk,1)) + 1; out_num(cal(kk,2)) = 0; end [ind] = find(out_num ~= 0); if length(ind) <= 8 for kk1 = 1 : length(ind) printf("%s %s %s\n", path{ind(kk1)}, num2str(num_hang(ind(kk1))), num2str(out_num(ind(kk1)))); end else for kk1 = length(ind)-7 : length(ind) printf("%s %s %s\n", path{ind(kk1)}, num2str(num_hang(ind(kk1))), num2str(out_num(ind(kk1)))); end end