하지마 조차. 못 본 체하다


50

여기에 이미지 설명을 입력하십시오

당신의 인생은 이것에 달려 있습니다. 깜박하지 마십시오. 깜박하지 마십시오. 깜박이고 당신은 죽었습니다. 그들은 빠르다. 당신이 믿을 수있는 것보다 더 빠릅니다. 등을 돌리지 말고 멀리 보지 말고 깜박이지 마십시오! 행운을 빕니다.

수양 천사 는 다른 존재 (또 다른 천사)에 의해 관찰되는 동안 움직일 수없는 외계 종족입니다. 그들은 희생자들을 제 시간에 돌려 보내 먹이를줍니다 귀하 ( 의사 )는 일부 객실에 갇혀 있으므로 TARDIS에 도착해야합니다.


태스크

직사각형 방의 ASCII 표현이 주어지면 안전으로 연결되는 경로를 출력하는 프로그램을 작성하십시오. 진행 중 언제 라도 천사가 공격 할 수 있다면 그 경로는 안전하지 않습니다. 천사는 당신이나 다른 천사에게 보이지 않고 당신을 볼 수 있다면 공격 할 수 있습니다.

입력

입력은 두 부분입니다. 먼저, 당신이 향하고있는 방향 (NSEW). 다음 줄에서, 방의 표현, 시작 / 종료 위치 및 모든 천사의 위치 / 대면을 표시합니다.

아래 샘플은 한 천사가 서쪽을 향하고 있고 남쪽을 향하고 있음을 보여줍니다.

S
..........
....D.....
..........
..........
..........
..........
..........
..........
.........W
..........
...T......
  • . - 빈 공간
  • D -닥터 (시작 위치)
  • T -TARDIS (종료 위치)
  • N,S,E,W -지정된 방향 (북쪽, 남쪽, 동쪽, 서쪽)을 향한 천사

시선

향한 방향이 45 도인 모든 공간을 볼 수 있습니다. 직각, 수직 또는 45도 대각선을 따라 다른 개체가 있으면 시야가 가려집니다. 다른 대각선은 시야를 방해 하지 않습니다 . 천사의 시선도 같은 방식으로 작동합니다. 예를 들어, 다음에서 -남쪽을 향하고 있다고 가정하면 시야를 나타냅니다.

........
...D....
..---...
.-----..
-------.
---N----
---.--N-
---.----

산출

출력은 종료 할 경로를 나타내는 문자열입니다. 안전한 경로가 여러 개인 경우 원하는 경로를 선택하십시오. 안전한 경로가 없으면을 출력하십시오 0. 지도가 잘못된 경우 충돌을 포함하여 원하는대로 수행하십시오. 방이 직사각형이 아니고 출구가 없으면 기형이라고 생각하십시오. 천사가 없다면 기형이 아니며 간단합니다.

각 단계마다 두 가지 중 하나를 수행 할 수 있습니다. NSEW 방향으로 이동하거나 위치를 변경하지 않고 NSEW 방향으로 돌립니다. 이동하려면 해당 방향의 문자를 출력하십시오. 방향을 향하도록하려면 F적절한 문자가 출력 됩니다. 예를 들면 다음과 같습니다.

SSFESSSSSSSW

입력 섹션에 제공된 샘플의 안전한 경로입니다. 남쪽으로 두 번 움직이고, 동쪽을 향하여 천사를 계속 본 다음 남쪽으로 일곱 번, 서쪽으로 한 번 움직여 TARDIS에 들어갑니다.

테스트 사례

1) 동쪽을 향한 천사를 돌아 다니며 TARDIS에 갈 수 있습니다. 당신이 그들 사이에 직접 밟지 않는 한, 그들은 서로 제자리에 고정되어 있으므로 어느 시점에서 어떤 방향을 향하든 상관 없습니다.

W
...D....
........
........
........
.E.....W
........
........
...T....

2)졌다. 그들을 지나칠 방법이 없습니다. 그들은 당신이 그들 사이를 밟을 때까지 서로를 볼 수 있습니다. 그 시점에서, 당신은 그들 둘 다를 직면 할 수없고 당신은 끝났습니다. 눈을 감고 끝내도 될 것입니다.

S
...D....
........
........
........
E......W
........
........
...T....

승리

표준 골프 규칙 및 허점이 적용되며 최소 바이트 수입니다. 곧 더 많은 테스트 사례를 얻으려고 노력하지만 그 동안 자유롭게 제안 해 드리겠습니다.

Doctor Who의 이미지와 인용문.


그래프를 통해 경로를 찾기 위해 라이브러리를 사용할 수 있습니까?
Sparr

@Sparr 예. 그러나 라이브러리를로드 / 포함하는 데 필요한 모든 것이 바이트 수에 추가되어야합니다.
Geobits

2
소용돌이 조작기를 사용하십시오!
TheDoctor

4
@TheDoctor Jack이 그를 데리고 갔는데지도에없는 사람을 볼 수 있습니다 ( J).
Geobits

1
@Timmy 모든 표준 정의를 사용할 수 있습니다.
Geobits

답변:


6

파이썬 – 559 565 644 633

M=input()
I=1j
Q={"S":I,"N":-I,"E":1,"W":-1}
A=[]
e=enumerate
for y,l in e(M[2:].split()):
 for x,c in e(l):
    P=x+y*1j
    if c=="D":D=(P,Q[M[0]])
    elif c=="T":T=P
    elif c!=".":A+=[(P,Q[c])]
def s(D,h,r=[]):
 def L(X,p,d):
    S=[p+d*(i+j*I)for i in range(x+y)for j in range(-i+1,i)if j]
    for f in[1,1+I,1-I]:
     i=0
     while i<x+y>1>(S[-1]in[a[0]for a in[D]+A]+[T])*i:i+=1;S+=[p+i*f*d]
    return X[0]in S
 if y>=D[0].imag>=(D[0]in[a[0]for a in A])<all(any(L(a,*b)for b in[D]+A)for a in A if L(D,*a))>(D in r)<=D[0].real<=x:
    r+=[D]
    if D[0]==T:print h;exit()
    for n in"SWEN":s((D[0]+Q[n],D[1]),h+n,r);s((D[0],Q[n]),h+"F"+n,r)
s(D,"")
print"0"

입력은 다음과 같이 제공되어야합니다.

"W\n...D....\n........\n........\n........\nE......W\n........\n........\n...T....\n"

기본적 으로이 접근 방식 은 의사가 안전하게 도달 할 수있는 모든 상태 (위치 및 방향)를 찾아서 도착한 방법을 저장하고 성공시 길을 인쇄하는 데 적용됩니다. 위치와 방향은 복잡한 숫자로 실현됩니다.

아마도 Sage의 복소수 산술을 사용하여 일부 문자를 안전하게 할 수는 있지만 매우 오래갑니다.

먼저 Tardis에 도달 한 후 Doctor가 특정 방향으로 전환하여 6자를 절약 할 수 있다고 생각했지만 이것이 잘못된 솔루션으로 이어질 수 있음을 깨달았습니다. 또한 나는 먼저 규칙을 잘못 읽었습니다.

다음은 대부분 ungolfed 버전입니다.

Map = input()

I = 1j
string_to_dir = {"S":I,"N":-I,"E":1,"W":-1}

Angels = []
Pos = 0
direction = string_to_dir[Map[0]]
for y,line in enumerate(Map[2:].split()):
    for x,char in enumerate(line):
        Pos = x+y*1j
        if char == "D":
            Doctor = (Pos, direction)
        elif char == "T":
            Tardis = (Pos, direction)
        elif char != ".":
            Angels += [(Pos,string_to_dir[char])]

reachables = []

def display(LoS, Doctor):
    string = ""
    for y,line in enumerate(Map[2:].split()):
        for x,char in enumerate(line):
            if x+y*1j == Doctor[0]:
                string += "D"
            elif x+y*1j in LoS:
                if char in ".D":
                    string += "*"
                else:
                    string += "X"
            elif char != "D":
                string += char
            else:
                string += "."

        string += "\n"
    print string

def LoS(angel,Doctor):
    p,d = angel
    Sight = []
    for i in range(x+y):
        for j in set(range(-i+1,i))-{0}:
            Sight += [p+d*i+d*j*I]
    for line in [d, (1+I)*d, (1-I)*d]:
        for i in range(1,x+y):
            Pos = p + i*line
            Sight += [Pos]
            if Pos in [angel[0] for angel in Angels+[Doctor, Tardis]]:
                break
    return Sight

def search(Doctor, history):
    global reachables

    Sight = sum([LoS(angel, Doctor) for angel in [Doctor]+Angels],[])

    if (
                all(angel[0] in Sight for angel in Angels if Doctor[0] in LoS(angel, Doctor))
            and not (Doctor in reachables)
            and (0<=Doctor[0].imag<=y)
            and (0<=Doctor[0].real<=x)
            and (Doctor[0] not in [angel[0] for angel in Angels])
        ):

        reachables += [Doctor]

        if Doctor[0] == Tardis[0]:
            print history
            exit()
        for new_direction in "SWEN":
            search((Doctor[0]+string_to_dir[new_direction], Doctor[1]), history + new_direction)
            search((Doctor[0], string_to_dir[new_direction]), history + "F" + new_direction)

search(Doctor, "")
print "0"

테스트 사례

테스트 사례 1 :

SSSFSWWWSSSSFWEFSEFWE

테스트 사례 2 :

0

VisualMelon의 테스트 사례 :

SSFWSSSSSFSWWSSWWWFWEEEEFSEFWEFSE

1
코드를 테스트하지는 않았지만 테스트 사례 1의 출력을 두 번 붙여 넣은 것으로 보입니다! 또한 제안 된 테스트 케이스에 피드를 제공하면 프로그램에서 생성되는 내용을 확인하고 싶습니다.
VisualMelon

@VisualMelon : 감사합니다. 테스트 사례를 통합했습니다.
Wrzlprmft

10

C # 1771 2034 1962 1887 1347 바이트

1 루프에서 블로킹 LOS 검사를 다시 작성하여 훨씬 더 깔끔하고 약 450 바이트 단축

using C=System.Console;using T=System.Math;struct P{int x,y,d;static void Main(){int v=C.ReadLine()[0],w,h,i,o=0,x=0,y=0,O,E,F,e=46;var R=C.In.ReadToEnd().Replace("\r","");var M=new int[w=R.IndexOf("\n"),h=(R.Length+1)/(w+1)];for(;o<h;o++)for(i=0;i<w;i++)if((M[i,o]=R[o+o*w+i])==68)M[x=i,y=o]=e;System.Func<int,int,int,bool>S=null;S=(X,Y,D)=>{var Z="SSSE_WNNNE_W___E_W";int I=0,H=0,L=0,J=Y,K=M[X,Y],B;M[X,Y]=D>0?D:K;for(H=0;H<9;H++)for(I=X,J=Y;H!=4&(I+=H%3-1)<w&I>=0&(J+=H/3-1)<h&&J>=0;){if(((B=M[I,J])==Z[H]|B==Z[H+9])&(D<1||!S(I,J,0)))goto W;if(B!=e)break;}for(B=I=-1;++I<w;B=1)for(J=0;J<h;J++)if(I!=X&J!=Y&(((B=M[I,J])==87&I>X&(H=T.Abs(J-Y))<I-X)|(B==69&I<X&H<X-I)|(B==78&J>Y&(L=T.Abs(I-X))<J-Y)|(B==83&J<Y&L<Y-J))&(D<1||!S(I,J,0)))goto W;W:M[X,Y]=K;return B>1;};P a,p=new P{x=x,y=y,d=v};var A=new System.Collections.Generic.List<P>();System.Action q=()=>{if(((E=M[p.x,p.y])==e|E==84)&!A.Contains(p)&!S(p.x,p.y,p.d))A.Add(p);};q();for(o=0;(O=A.Count)!=o;o=O)for(i=O;i-->o;){p=A[i];if((E=M[p.x,p.y])==84)for(R="";;p=a){i=0;n:a=A[i++];O=T.Abs(p.y-a.y)+T.Abs(a.x-p.x);if(O==1&p.d==a.d)R=(a.y-p.y==1?"N":p.y-a.y==1?"S":a.x-p.x==1?"W":"E")+R;else if(O<1)R="F"+(char)p.d+R;else goto n;if(i<2)goto Z;}if(E==e){if(p.x-->0)q();p.x+=2;if(p.x<w)q();p.x--;if(p.y-->0)q();p.y+=2;if(p.y<h)q();p.y--;for(F=0;F<4;q())p.d="NESW"[F++];}}R="0";Z:C.WriteLine(R);}}

이것은 입력이 EOF로 끝나고 STDIN으로 전달 될 것으로 예상하는 완전한 프로그램입니다. TARDIS의 최단 경로를 인쇄하거나 (경로가없는 경우 "0") 인쇄합니다. 그것은 가능한 모든 경로를 따라 가기 위해 폭 넓은 우선 검색을 사용하고 출력을 조립하기 위해 TARDIS에서 Doctor로 역 추적합니다.

형식화 된 코드 :

using C=System.Console;
using T=System.Math;

struct P
{
    int x,y,d;

    static void Main()
    {
        int v=C.ReadLine()[0],w,h,i,o=0,x=0,y=0,O,E,F,e=46;
        var R=C.In.ReadToEnd().Replace("\r","");
        var M=new int[w=R.IndexOf("\n"),h=(R.Length+1)/(w+1)];

        for(;o<h;o++)
            for(i=0;i<w;i++)
                if((M[i,o]=R[o+o*w+i])==68)
                    M[x=i,y=o]=e;

        System.Func<int,int,int,bool>S=null;
        S=(X,Y,D)=>
        {
            var Z="SSSE_WNNNE_W___E_W";

            int I=0,H=0,L=0,J=Y,K=M[X,Y],B;
            M[X,Y]=D>0?D:K;

            for(H=0;H<9;H++)
                for(I=X,J=Y;H!=4&(I+=H%3-1)<w&I>=0&(J+=H/3-1)<h&&J>=0;)
                {
                    if(((B=M[I,J])==Z[H]|B==Z[H+9])&(D<1||!S(I,J,0)))
                        goto W;
                    if(B!=e)
                        break;
                }

            for(B=I=-1;++I<w;B=1)
                for(J=0;J<h;J++)
                    if(I!=X&J!=Y&(((B=M[I,J])==87&I>X&(H=T.Abs(J-Y))<I-X)|(B==69&I<X&H<X-I)|(B==78&J>Y&(L=T.Abs(I-X))<J-Y)|(B==83&J<Y&L<Y-J))&(D<1||!S(I,J,0)))
                        goto W;
        W:
            M[X,Y]=K;
            return B>1;
        };

        P a,p=new P{x=x,y=y,d=v};
        var A=new System.Collections.Generic.List<P>();
        System.Action q=()=>{if(((E=M[p.x,p.y])==e|E==84)&!A.Contains(p)&!S(p.x,p.y,p.d))A.Add(p);};
        q();

        for(o=0;(O=A.Count)!=o;o=O)
            for(i=O;i-->o;)
            {
                p=A[i];
                if((E=M[p.x,p.y])==84)
                    for(R="";;p=a)
                    {
                        i=0;
                    n:
                        a=A[i++];

                        O=T.Abs(p.y-a.y)+T.Abs(a.x-p.x);
                        if(O==1&p.d==a.d)
                            R=(a.y-p.y==1?"N":p.y-a.y==1?"S":a.x-p.x==1?"W":"E")+R;
                        else if(O<1)
                            R="F"+(char)p.d+R;
                        else goto n;

                        if(i<2)
                            goto Z;
                    }
                if(E==e)
                {
                    if(p.x-->0)q();
                    p.x+=2;if(p.x<w)q();p.x--;
                    if(p.y-->0)q();
                    p.y+=2;if(p.y<h)q();p.y--;

                    for(F=0;F<4;q())
                        p.d="NESW"[F++];
                }
            }
        R="0";
    Z:
        C.WriteLine(R);
    }
}

입력 예를 들어 출력

SFESWSSSSSSS

테스트 사례 1의 출력)

WSWSWSSSESESE

테스트 사례 2의 출력)

0

요청에 따라 새로운 테스트 사례를 제시합니다.

S
..E..DS....
...........
...........
...........
...........
...........
...........
...........
....SSSSS.W
.......T...

내 프로그램 출력

SESESESESFNSSSSWW

WozzeC의 테스트 사례 1 :

EEEEFWSSSFNWWN

WozzeC의 테스트 사례 2 :

FSEEEESFWSSSSWFNWWWNFENNEES

X = System.Console 가능성을 완전히 놓쳤습니다. 감사합니다 :)
WozzeC


나는 당신의 테스트 케이스로 의사가 스타트 업에 공격 받았다고 생각한다 : S
WozzeC

@WozzeC 남동쪽의 서쪽 천사는 북서쪽의 동쪽 천사를 볼 수 있으므로 의사는 탈출 할 수 있지만 그 시점에서 의사가 시작될 때 의사가 공격을 받았다면 내 해결책을 알지 못하는 것처럼 보입니다. 왜이 코드를 테스트하기가 어렵습니까?
VisualMelon

1
미안, 신경 쓰지 마 다른 천사가보고 있다면 움직일 수없는 작은 세부 사항을 놓쳤다.
WozzeC

2

C # 1454, 1396, 1373, 1303 1279

class P{static int x,d,y=x=d=55,o=170,X=0,Y=0,u,k=3;static string[,]t=new string[o,o];static int[,]m=new int[o,o];static string e=" NS ETD W      .",q="0";static void Main(string[]s){m[0,1]=m[1,8]=-1;m[0,2]=m[1,4]=1;u=e.IndexOf(s[0][0]);for(;k<s[0].Length;k++){var c=s[0][k];if(c=='D'){X=x;Y=y;}if(c=='\\'){y++;x=d;k++;}else m[y,x++]=e.IndexOf(c);}k=A(X,Y,1);if((k&u)!=0){W(X,Y,k,"");}System.Console.Write(q);}static void W(int x,int y,int h,string s){t[y,x]=s;for(int i=1;i<9;i*=2){int l=y+m[0,i],g=x+m[1,i];if(m[l,g]==5)q=t[l,g]=s+e[i];else if(m[l,g]==15){m[l,g]=6;m[y,x]=15;int n=A(g,l,1),U;for(int j=1;j<9;j*=2){var z=t[l,g]??s;if((n&h&j)!=0&z.Length>=s.Length){U=u;u=j;W(g,l,n,s+((u!=j)?"F"+e[j]:"")+e[i]);u=U;}}m[y,x]=6;m[l,g]=0;}}}static int A(int x,int y,int L){int r=15,a,b,c,f=0,g,h,R,B;for(a=1;a<d-5;a++){g=1;for(b=y-a;b<=y+a;b++)for(c=x-a;c<=x+a;c++){B=m[b,c];R=0;bool W=(c+a-x)%a==0,V=(b+a-y)%a==0,z=W&V;if(B>0&B<9&B!=6&B!=5&g!=16&!((W|V)&(f&g)!=0)){h=R;if(b==y-a){R=1;if(c==x-a){h=4;R=9;}else if(c==x+a){h=8;R=5;}B&=h&2;}else if(b==y+a){R=2;if(c==x-a){h=4;R=10;}else if(c==x+a){h=8;R=6;}B&=h&1;}else if(c==x-a){B&=4;R=8;}else if(c==x+a){B&=8;R=4;}else B=0;if(B!=0){if(L==1&&A(c,b,0)==15)r&=R;if(L==0)return R;}}if(z){if(B<9&B>0&!(c==x&y==b))f|=g;g*=2;}}}return r;}}

권리. 그래서 나는 이것을 가기로 결정했고 소년은 시간이 걸렸다. 주로 논리 연산자를 사용하여 작성됩니다.

  • 북쪽 = 1 = N
  • 남쪽 = 2 = S
  • 동쪽 = 4 = E
  • 서쪽 = 8 = W
  • 의사 = 6 = D
  • 타 디스 = 5 = T
  • 15 =. <-모든 여유 공간

Null 등을 확인하지 않으려면 [MAX_SIZE * 3] * [MAX_SIZE] * 3 필드를 사용하고 게임 보드를 중앙에 가깝게 배치하기로 결정했습니다.

루프 검사는 50 (MAX_SIZE)까지 안팎으로 수행됩니다. 그래서 이런 식으로 :

22222
21112
21D12
21112
22222

EWS 또는 N이 발견되면 동일한 검사를 수행합니다. 천사 (의사 아님)를보고있는 것이 발견되면 15를 자유 통로로 반환합니다. 그들이 보지 않으면 의사는 안전을 위해 직면해야하는 방식으로 돌아옵니다. 즉 N은 남쪽으로 2를 반환합니다. NW 또는 NE가 아닌 경우 각각 6 (2 + 4) 및 10 (2 + 8)을 반환합니다.

두 천사가 닥터를보고 있다면, 이것들로부터의 리턴 값은 "ANDed"가 될 것입니다. 따라서 테스트 예제에서 2 개의 크런치 포지션 4와 8은 0으로 바뀝니다. 위치가 나쁘고 피해야 함을 의미합니다.

확장 코드 :

class P
{
    static int x,d,y=x=d=55,o=170,X=0,Y=0,u,k=3;
    static string[,] t = new string[o, o];
    static int[,] m = new int[o, o];
    static string e = " NS ETD W      .", q="0";
    static void Main(string[]s)
    {   
        m[0, 1]=m[1, 8]=-1;
        m[0, 2]=m[1, 4]=1;
        u=e.IndexOf(s[0][0]);
        for (;k<s[0].Length;k++)
        {
            var c = s[0][k];
            if (c == 'D') { X = x; Y = y; }
            if (c == '\\') { y++; x = d; k++; }
            else m[y, x++] = e.IndexOf(c);
        }
        k=A(X,Y,1);
        if ((k&u)!=0)
        {
            W(X, Y, k,"");
        }
        System.Console.Write(q);
    }
    static void W(int x,int y,int h,string s){
        t[y, x] = s;
        for (int i = 1; i < 9; i*=2)
        {
            int l = y+m[0, i], g = x+m[1, i];
            if (m[l, g] == 5)
                q = t[l, g] = s + e[i];
            else if (m[l, g] == 15)
            {
                m[l, g] = 6;
                m[y, x] = 15;
                int n = A(g, l,1),U;
                for (int j = 1; j < 9; j *= 2)
                {
                    var z = t[l, g]??s;
                    if ((n & h & j) != 0 & z.Length>=s.Length)
                    {
                        U = u;
                        u = j;
                        W(g, l, n,s+((u != j) ? "F" + e[j] : "") + e[i]);
                        u = U;
                    }
                }
                m[y, x] = 6;
                m[l, g] = 0;
            }
        }
    }
    static int A(int x, int y,int L)
    {
        int r = 15,a,b,c,f=0,g,h,R,B;
        for (a = 1; a < d - 5; a++)
        {
            g = 1;
            for (b = y - a; b <= y + a; b++)
                for (c = x - a; c <= x + a; c++)
                {
                    B=m[b, c];
                    R=0;
                    bool W=(c+a-x)%a==0,V=(b+a-y)%a==0,z=W&V; 
                    if (B>0&B<9&B!=6&B!=5&g!=16&!((W|V)&(f&g)!=0))
                    {
                        h=R;
                        if (b==y-a)
                        {
                            R=1;
                            if(c==x-a){h=4;R=9;}
                            else if(c==x+a){h=8;R=5;}
                            B&=h&2;
                        }
                        else if (b==y+a)
                        {
                            R=2;
                            if(c==x-a){h=4;R=10;}
                            else if (c==x+a){h=8;R=6;}
                            B&=h&1;
                        }
                        else if(c==x-a){B&=4;R=8;}
                        else if(c==x+a){B&=8;R=4;}
                        else B=0;
                        if (B!=0)
                        {
                            if(L==1&&A(c,b,0)==15)r&=R;
                            if (L==0)return R;
                        }
                    }
                    if (z)
                    {
                        if (B < 9 & B > 0 & !(c==x&y==b))
                           f |= g;
                        g *= 2;
                    }
                }
        }
        return r;
    }
}

시험 결과

1 예 : FNSSSWNNNWSSSWSSSSENNESES

2 예 : 탈출구 없음

VisualMelon 예 : FNSSSSSSSWNNNNNNNWSSSSSSSSSEEEE

내 테스트 사례 1 : FSSENEEEFWSSFNSWWN

내 테스트 사례 2 : FSEEEESFWSSSSFNWWWWNFENNFSEES

보시다시피, 내 의사는 천사들에게 움직이는 것이 얼마나 재미 있는지 보여주기 위해 주저처럼 뽐내고 싶어합니다. 소프트웨어가 가장 짧은 경로를 찾도록 만들 수 있지만 시간이 더 걸리고 더 많은 코드가 필요합니다.

너희들을위한 테스트 사례

S
D....
..NE.
.WTS.
.S...

다른 것:

E
D....
WNNN.
...E.
.WTE.
.SSE.
.....

1
골프 코드에는 한 곳에서 컴파일을 중지하는 공간이 누락되었지만이 수정으로 바이트 수를 1395로 만 만듭니다! 작업이 너무 낮아서 훌륭하게 사용할 using S=System.Console;수 있으며, 사용하기에 완벽하게 공정한 게임 이거나 코드에서 S를 완전히 제거하고 6 바이트를 절약 할 수 있습니다 using System. 이제 좀 더 순진한 접근 방식을 시도해야합니다 ...;)
VisualMelon

1
오 빠진 공간, 내가 처리해야합니다. 그리고 물론 S = ... 내가 그것을 배웠을 때 조금 사라졌습니다. :)
WozzeC

바이트 카운트 다운을 받고 좋은 작품;)
VisualMelon

사용되지 않은 코드를 찾았습니다. 불필요한 추가 사항이 있습니다.
WozzeC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.