namespace IBM{classA_24_1403_5{staticbyte[][] MAP =newbyte[][]{/*12*/newbyte[]{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},/*11*/newbyte[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},/* 0*/newbyte[]{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0},/* 1*/newbyte[]{0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0},/* 2*/newbyte[]{0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0},/* 3*/newbyte[]{0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},/* 4*/newbyte[]{0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0},/* 5*/newbyte[]{0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0},/* 6*/newbyte[]{0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0},/* 7*/newbyte[]{0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1},/* 8*/newbyte[]{0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1},/* 9*/newbyte[]{0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},};privatestaticchar[] CMAP ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&¢.<(+|-!$*);¬/ ,%_>?:#@'=\"".ToCharArray();publicstaticstringread(byte[][] Card){string ret="";for(int i =0; i < Card[0].Length; i++){for(int ii=0; ii < MAP[0].Length; ii++){int CF =0;for(int r =0; r < Card.Length; r++)if(MAP[r][ii]== Card[r][i])
CF++;if(CF == Card.Length )
ret+=CMAP[ii];}}return ret;}}}
答案2:
namespace IBM{using System;using System.Collections.Generic;using System.Linq;classA_24_1403_5{privatestatic Dictionary<int,string> m =newDictionary<int,string>();publicstaticvoidscan(){for(int c=1; c<256; c++){try{string s =((char)c).ToString();
m[A_24_1403_5_GEN.generate(s).Aggregate(0,(t,r)=>t*2+r[0])]=s;}catch{}}}publicstaticstringread(byte[][] card){if(m.Count==0)scan();return String.Join("",card[0].Select((_,i)=>m[card.Aggregate(0,(t,r)=>t*2+r[i])]));}}}
答案3:
namespace IBM
{using System.Linq;using System.Collections.Generic;classA_24_1403_5{static Dictionary<string,char> U =newDictionary<string,char>();staticA_24_1403_5(){for(char V ='\0';V <256;++V)try{U.Add(string.Join("",A_24_1403_5_GEN.generate(""+ V).Select(B => B[0])),V);}catch(System.Exception){}}publicstaticstringread(byte[][] Q){string R ="";for(int V =0;V < Q[0].Length;++V) R += U[string.Join("",Q.Select(B => B[V]))];return R;}}}