101 lines
1.8 KiB
Awk
101 lines
1.8 KiB
Awk
{
|
|
# 2: len5 acdeg e
|
|
# 3: len5 acdfg f
|
|
# 5: len5 abdfg b<->c^ *
|
|
|
|
# 0: len6 abcefg *
|
|
# 6: len6 abdefg *
|
|
# 9: len6 abcdfg *
|
|
p5 = 0; p6=0
|
|
for(i=1;i<=10;i++){
|
|
len = length($i)
|
|
if(len==2) pat[1] = $i # 1: cf *
|
|
if(len==4) pat[4] = $i # 4: bcdf *
|
|
if(len==3) pat[7] = $i # 7: acf *
|
|
if(len==7) pat[8] = $i # 8: abcdef *
|
|
if(len==5) patn5[p5++] = $i
|
|
if(len==6) patn6[p6++] = $i
|
|
}
|
|
a = pat[7]
|
|
gsub("[" pat[1] "]" ,"",a)
|
|
bd = pat[4]
|
|
gsub("[" pat[1] "]","",bd)
|
|
for(i in patn5){
|
|
if(patn5[i]~substr(bd,1,1) && patn5[i]~substr(bd,2,1)){
|
|
pat[5] = patn5[i]
|
|
pati[5] = i
|
|
}
|
|
}
|
|
if(patn5[(pati[5]+1)%3]~substr(bd,1,1)){
|
|
d = substr(bd,1,1)
|
|
b = substr(bd,2,1)
|
|
}
|
|
else{
|
|
d = substr(bd,2,1)
|
|
b = substr(bd,1,1)
|
|
}
|
|
for(i in patn6){
|
|
#print patn6[i]
|
|
if( patn6[i]!~d ){
|
|
pat[0] = patn6[i]
|
|
pati[0] = i
|
|
}
|
|
temp = patn6[i]
|
|
gsub("[" pat[4] "]","", temp)
|
|
if(length(temp)==2){
|
|
pat[9] = patn6[i]
|
|
pati[9] = i
|
|
gsub(a, "", temp)
|
|
g = temp
|
|
}
|
|
}
|
|
for(i in patn6){
|
|
if(i!=pati[9] && i!=pati[0]){
|
|
pat[6] = patn6[i]
|
|
e = pat[6]
|
|
gsub("[" a b d g "]","",e)
|
|
f = e
|
|
gsub("[" pat[1] "]","",e)
|
|
gsub("[^" pat[1] "]","",f)
|
|
c = pat[1]
|
|
gsub(f,"",c)
|
|
}
|
|
}
|
|
# print "a:", a, "b:", b, "c:",c, "d:", d, "e:", e,"f:",f, "g:", g
|
|
for(i in patn5){
|
|
if(i!=pati[5]){
|
|
if(patn5[i]~e) pat[2]=patn5[i]
|
|
else if(patn5[i]~f) pat[3]=patn5[i]
|
|
}
|
|
}
|
|
|
|
for(i=0;i<=9;i++)
|
|
# print i,":", pat[i]
|
|
|
|
num = ""
|
|
for(i=12;i<=15;i++){
|
|
# print $i
|
|
len = length($i)
|
|
if(len==2) digit = 1
|
|
else if(len==4) digit = 4
|
|
else if(len==3) digit = 7
|
|
else if(len==7) digit = 8
|
|
else if(len==5){
|
|
if( $i~e ) digit = 2
|
|
else if($i~b) digit = 5
|
|
else digit = 3
|
|
}
|
|
else if(len==6){
|
|
if( $i~c && $i~e ) digit = 0
|
|
else if($i~e) digit = 6
|
|
else digit= 9
|
|
}
|
|
num = num digit
|
|
}
|
|
print num
|
|
sum += num
|
|
}
|
|
END{
|
|
print sum
|
|
}
|