การสั่ง Antiferromagnetic


16

การสั่ง Antiferromagnetic

Antiferromagnetismเป็นสิ่งที่นักวิจัยของ IBM เคยกระโดดจากดิสก์ 1 เทราไบต์ไปยังดิสก์100 เทราไบต์ในอะตอมจำนวนเท่ากัน

ในวัสดุที่แสดงแม่เหล็กแม่เหล็ก, ช่วงเวลาแม่เหล็กของอะตอมหรือโมเลกุลมักเกี่ยวข้องกับการหมุนของอิเล็กตรอนจัดเรียงในรูปแบบปกติกับสปินที่อยู่ใกล้เคียง (ใน sublattices ต่าง ๆ ) ชี้ไปในทิศทางตรงกันข้าม

งานของคุณคือการเขียนโปรแกรมที่ดึงลำดับของอะตอมแม่เหล็กไฟฟ้าเช่นภาพที่แสดงด้านบน คุณจะต้องสามารถมีคู่อย่างน้อยสี่ชุดแม้ว่าคุณอาจมีมากขึ้น

แต่ละคู่จะต้องแสดงดังนี้แม้ว่าพวกเขาจะต้องเป็นลูกศรจริง :

 ขึ้นลง
ลงมา
 ขึ้นลง

เอาต์พุตของคุณสามารถอยู่ในรูป ASCII หรือกราฟิกเอาต์พุต

คุณสามารถสร้างได้เฉพาะฟังก์ชั่นหรือโปรแกรมทั้งหมด แต่ต้องใช้อินพุตและวาดหลายคู่ ตัวอย่างที่มีคำเท่านั้น :

อินพุต: 1

 ขึ้นลง
ลงมา
 ขึ้นลง

อินพุต: 2

 ขึ้นลง 
ลงขึ้นลง  
 ขึ้นลง

ลูกศรที่ยอมรับได้:

  • และ
  • และ
  • /|\ และ \|/

โปรดใส่คำตอบของคุณในภาษารูปแบบX ไบต์เนื่องจากอ่านง่าย จำนวนไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ!


5
"ลูกศรใด ๆ " ฟังดูไม่ชัดเจนสำหรับฉัน - แล้วมันเกี่ยวกับ^vอะไร?
Sp3000

1
@ Sp3000 ไม่เพราะพวกมันไม่มีหางเล็ก ๆ
ช่วง

2
จะถูกลูกศรเหล่านี้ได้รับอนุญาต: และ? ( unicode code points U + 21C5 และ U + 21F5 )
Digital Trauma

1
@DigitalTrauma พวกเขาสมบูรณ์แบบ!
ช่วง

11
@ เฟสฉันย้อนกลับการแก้ไขของคุณ การเปลี่ยนการให้คะแนนจากไบต์เป็นตัวอักษรจะเปลี่ยนคะแนนอย่างมากสำหรับคำตอบมากมาย การเปลี่ยนกฏหลังจากได้รับคำตอบ 15 ข้อโดยทั่วไปมักจะขมวดคิ้ว
Digital Trauma

คำตอบ:


16

APL, 18 12 ไบต์

⍉(2×⎕)3⍴'↑↓'

นี้โครงสร้าง 2n x 3 เมทริกซ์ที่ n คือการป้อนข้อมูล ( ) ที่เต็มไปด้วยตัวละครและ transpose ( ) ของเมทริกซ์นี้จะถูกพิมพ์

คุณสามารถลองออนไลน์ได้


การใช้ชุดอักขระ APL ในทางที่ผิด ฉันเดาว่าคำตอบอื่น ๆ สามารถใช้ชุดอักขระนี้ได้เช่นกัน
jimmy23013

1
@ jimmy23013: หน้ารหัส APL ใช้ระบบ EBCDIC ไม่แน่ใจว่าสามารถรองรับหลายภาษาได้
Dennis

@Dennis โปรแกรมไม่สามารถอยู่ใน ASCII (หรือซึ่งพูดพล่อยๆใน EBCDIC) ในขณะที่มันพิมพ์สตริง EBCDIC? ทางลัดสำหรับการขึ้นบรรทัดใหม่จะหายไป อีกทางเลือกหนึ่งของ Windows คอนโซลดูเหมือนจะพิมพ์เป็น\x18\x19 ↑↓
jimmy23013


@ jimmy23013: ใช่ฉันเพียงแค่พูดคุยเกี่ยวกับคอนโซลเก่าในการแชท การพูดพล่อยๆอาจใช้งานได้ แต่อาจคุ้มค่ากับการอภิปรายเมตา
Dennis

12

Pyth, 15 ไบต์ (11 ตัวอักษร)

V3.>*Q"↑↓"N

ลองใช้งานออนไลน์: การสาธิต

คำอธิบาย:

              implicit: Q = input number
V3            for N in [0, 1, 2]:
      "↑↓"       string "↑↓"
    *Q           repeat Q times
  .>      N      rotate the string by N

12

Java, 313 296 ไบต์

นี่คือตัวอย่างที่แสดงลูกศรแบบกราฟิก:

import java.awt.*;void f(int n){new Frame(){public void paint(Graphics g){for(int k=0,l,m,o;k<n*6;o=k%6,l=o/2*10+32,m=k/6*20+(k++%2==0?19:29),g.fillPolygon(new int[]{m+4,m,m+4,m+4,m+6,m+6,m+10},o==1|o==2|o==5?new int[]{l+9,l+5,l+5,l,l,l+5,l+5}:new int[]{l,l+5,l+5,l+9,l+9,l+5,l+5},7));}}.show();}

ในรูปแบบที่อ่านได้มากขึ้น:

import java.awt.*;
void f(int n) {
    new Frame() {
        public void paint(Graphics g) {
            for (int k = 0, l, m, o; k < n*6;){
                o = k % 6;
                l = o / 2 * 10 + 32;
                m = k / 6 * 20 + (k++ % 2 == 0 ? 19 : 29);
                g.fillPolygon(new int[] {m+4,m,m+4,m+4,m+6,m+6,m+10},
                              o == 1 || o == 2 || o == 5 ?
                                  new int[] {l+9,l+5,l+5,l,l,l+5,l+5} :
                                  new int[] {l,l+5,l+5,l+9,l+9,l+5,l+5},
                              7);
            }
        }
    }.show();
}

จอแสดงผลสำหรับ 5 เป็นอินพุต:

Display for 5 as input

คุณจะต้องปรับขนาดหน้าต่างที่ปรากฏขึ้นเพื่อดูลูกศร ฉันพยายามที่จะทำให้มันไม่มีใครปรากฏ "ตัดออก" โดยที่ขอบด้านในของหน้าต่าง แต่อาจปรากฏในลักษณะนั้นในบางแพลตฟอร์ม


9

CJam, 18 ไบต์ (14 ตัวอักษร)

ri3*"↑↓"*3/zN*

สร้างคอลัมน์ (ซึ่งเป็นรูปแบบการทำซ้ำ) จากนั้นแปลง

ลองมันออนไลน์


ทางเลือกที่ 18 ไบต์:

3,ri"↑↓"*fm>N*

หมุนสตริง"↑↓"*nโดย 0, 1 หรือ 2 ครั้ง


7

CJam (15 ตัวอักษร, 19 ไบต์)

ri"↑↓"*_(+1$]N*

การสาธิตออนไลน์


1
สภาพการชนะคือไบต์ไม่ใช่ตัวอักษร
isaacg

@PeterTaylor: ความท้าทายที่ระบุภาษา,รูปแบบX ไบต์ คุณมีรูปแบบอักขระถ่าน แต่อักขระ Unicode มีค่า 2 ไบต์ดังนั้นคะแนนจริงของคุณคือ 17 ไบต์
Levi

@Levi ตามนี้พวกเขามี 3 ไบต์ละ
isaacg

@isaacg อาของฉันไม่ดี
เลวี

7

Befunge, 71 ไบต์

คำตอบแรกของฉันดังนั้นโปรดใช้ความอ่อนโยนกับฉัน: o)

ปัญหาการจัดตำแหน่งที่น่ารำคาญส่งผลให้เสียเวลาไม่กี่ไบต์ถ้าคุณมีการปรับปรุงใด ๆ สำหรับฉันฉันชอบที่จะได้ยินพวกเขา!

&::3>:2% #v_0#v" \|/ "<
  >\^,*52<> 0#v" /|\ "<
:#^_$1-:#^_@  >:#,_$\1-

อินพุต: 4

 /|\  \|/  /|\  \|/  /|\  \|/  /|\  \|/ 
 \|/  /|\  \|/  /|\  \|/  /|\  \|/  /|\ 
 /|\  \|/  /|\  \|/  /|\  \|/  /|\  \|/ 

6

CJam, 14 ไบต์

0000000: 332c 7269 2218 1922 2a66 6d3e 4e2a       3,ri".."*fm>N*

สิ่งนี้ต้องใช้เครื่องเทอร์มินัลที่รองรับซึ่งแสดงรหัสหน้า 850ดังนี้

ส่วนที่ไม่ใช่แหลมของรหัสที่เปิดออกมาจะเหมือนกับ@ เลือกรุ่น


CJam, 17 ไบต์

ri"⇅⇵⇅"f*N*

รุ่นลูกศรคู่ Cheaty พร้อมเครดิตไปที่ @DigitalTrauma

ลองออนไลน์


5

Pyth, 16 ไบต์ (12 ตัวอักษร)

J"↑↓"V3*~_JQ

ตัวอย่าง:

Input: 4
Output:
↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓

5

Python 2, 131 122 ไบต์

from turtle import*
for k in range(input()*6):z=k/3+k%3&1;pu();goto(k/3*32,z*32^k%3*64);pd();seth(z*180+90);fd(32);stamp()

ดี ... ฉันชนะC Java ฉันเดาหรือไม่

enter image description here


ฉันเลือกความสูง32สำหรับลูกศรซึ่งค่อนข้างใหญ่ดังนั้นหลังจากนั้นไม่นานเต่าก็เริ่มวาดภาพนอกจอ หากคุณต้องการทุกอย่างให้พอดีกับอินพุตขนาดใหญ่คุณสามารถทำให้ลูกศรเล็กลงด้วยการแทนที่32s หรือใช้screensize()(ฉันไม่แน่ใจว่ามีเมตาโพสต์บนเอาท์พุทหน้าจอ ... )


1
ดังนั้น ... เมื่อใดจะเพิ่มกราฟิกเต่าใน Pyth?
Digital Trauma

แน่นอนเพื่อวัตถุประสงค์ในการเล่นกอล์ฟคุณควรเลือกหมายเลขหลักเดียวสำหรับการปรับขนาด ...
Beta Decay

@BetaDecay สำหรับการปรับขนาดตัวเลขหลักเดียวนั้นแทบจะมองไม่เห็นเนื่องจากเต่าถูกบดบังด้วยเต่า
Sp3000

4

GNU sed, 25 ไบต์

ฉันพบสัญลักษณ์ลูกศรและunicode ซึ่งอนุญาตให้ย่อให้สั้นลงและได้รับอนุญาตโดยความคิดเห็นนี้ :

h
s/1/⇅/g
H
G
s/1/⇵/g

อินพุตมีค่าไม่เหมือนกันดังนั้นเช่น 4 คือ1111:

$ echo 1 | sed -f antiferro.sed
⇅
⇵
⇅
$ echo 1111 | sed -f antiferro.sed
⇅⇅⇅⇅
⇵⇵⇵⇵
⇅⇅⇅⇅
$ 

คำตอบก่อนหน้านี้ในกรณีและไม่ได้รับอนุญาต:

GNU sed, 39 ไบต์

s/1/↑↓/g
s/.*/&a&↑\n&/
s/a↑/\n/

3
เมื่อใดก็ตามที่ฉันเห็น "GNU sed" ที่ด้านบนของโพสต์ฉันไม่จำเป็นต้องเลื่อนลงเพื่อดูว่าใครโพสต์
Alex A.


การป้อนข้อมูลไม่พร้อมกัน! เป็นเรื่องทั่วไปสำหรับภาษาหรือบางสิ่งที่คุณตั้งโปรแกรมใช่หรือไม่
Beta Decay

1
ช่างเป็นคำตอบที่เลว
ทราม

1
@BetaDecay นั่นคือคุณสมบัติที่ไม่ซ้ำกันของสตริง unary - ค่าตัวเลขของพวกเขาจะเท่ากับความยาวของพวกเขา คำถาม / คำตอบเมตาอนุญาตสำหรับสิ่งนี้อย่างเคร่งครัดสำหรับภาษาที่ไม่มีเลขคณิตพื้นเมือง (เช่นsed) สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับคำถามนี้เนื่องจากสามารถสร้างเอาต์พุตของความยาวที่ต้องการได้อย่างง่ายดายจากอินพุตแบบยูนารี Cheaty? บางที - แต่ฉันทามติเมตาตอบรับดูเหมือนว่าจะตกลงกับมัน
Digital Trauma

3

Swift 2, 66 bytes

let f={n in(0..<n*3).map{print("↑↓",appendNewline:$0%n==n-1)}}

ถ้าสวิฟท์จะเป็นเพียง liiiitle น้อย verbose มันจะไม่เลวสำหรับการเล่นกอล์ฟ (ฉันกำลังดูคุณชื่อพารามิเตอร์appendNewline)


3

ตัวอักษร Ruby 39 (หรือ 44), 43 (หรือ 48) ไบต์

ตามhttps://mothereff.in/byte-counterตัวอักษรลูกศรมีขนาด 3 ไบต์แต่ละตัว!

->(n){a=['↑↓'*n]*3;a[1]=a[1].reverse;a}

ฟังก์ชั่นไม่ระบุชื่อซึ่งส่งกลับอาร์เรย์ หากฟังก์ชั่นต้องพิมพ์อาเรย์ก็ควรลงท้ายด้วยputs aอีก 5 ไบต์

ตัวอย่างการใช้

f=->(n){a=['↑↓'*n]*3;a[1]=a[1].reverse;a}

puts f.call(6)

จะช่วยให้

↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓

3

J, 41 35 32 ไบต์ (28 ตัวอักษร)

3$(,:|.)(2*".1!:1[1)$ucp'↑↓'

ฉันไม่เคยเขียนโปรแกรมอะไรเลยใน J ดังนั้นนี่จึงใช้เวลาสักพักหนึ่งและแน่นอนที่สุดไม่ใช่วิธีที่ดีที่สุดที่จะทำ

การดำเนินการนี้จะรอให้คุณป้อนหมายเลขเมื่อเรียกใช้ก่อนที่จะแสดงลูกศร


คุณหมายถึงอะไรที่คุณไม่ได้ตั้งโปรแกรมใน J ฉันดูเหมือนจะจำคำตอบ J ที่ให้คุณมากกว่า 1k ตัวแทน ;)
Alex A.

@AlexA การทำเลขคณิตแบบง่าย ๆ ไม่ใช่สิ่งที่ฉันเรียกว่า เมื่อฉันโพสต์คำตอบนั้นฉันไม่รู้อะไรเลยเกี่ยวกับ J นอกเหนือจากลำดับความสำคัญจากขวาไปซ้าย
Fatalize

2

Javascript (ES6), 66 63 53 47 ไบต์ ( 62 55 49 41 ตัวอักษร)

f=n=>`⇅
⇵
⇅`.replace(/./g,'$&'.repeat(n))

อุปกรณ์ประกอบฉากสู่Digital Traumaสำหรับการค้นหาตัวอักษร⇅และ and และอนุญาตให้ฉันกำจัดจำนวนไบต์ได้มากขึ้น



2

C, 169 170 162 125 123 105 119 107 ไบต์

ดังนั้นฉันถึงแม้ว่าฉันจะให้มันเป็นอย่างดีแม้ว่านี่จะไม่ใช่ผู้ชนะ :)

แข็งแรงเล่นกอล์ฟ:

n,i,j;main(){n=getchar();n=atoi(&n);for(;j++<3;){for(i=0;i++<n;)printf("%.3s ","⇅⇵"+(j%2)*3);puts("");}}

Ungolfed:

#include <stdio.h>
#include <stdlib.h>

/* n -> Number of columns, i & j -> Loop counters */
n,i,j;

main()
{
    /* Get the number of iterations from stdin */
    n = getchar();
    n = atoi(&n); /* Thanks @AndreaBiondo */

    for (; j++ < 3;)
    {
        /* Print rows of arrows */
        for (i = 0; i++ < n;)
            printf("%.3s ","⇅⇵" + (j % 2) * 3);

        /* Print a newline */
        puts("");
    }
}

ตัวอย่าง:

Input: 4
⇵ ⇵ ⇵ ⇵ 
⇅ ⇅ ⇅ ⇅ 
⇵ ⇵ ⇵ ⇵ 

ปรับปรุง:

เห็นมันทำงานที่นี่


คุณสามารถทำได้for(j=0;j++<3;)เหมือนกันกับi
lirtosiast

@ThomasKwa อ่า ... เห็นเป็นอย่างดี ขอบคุณ
Levi

iและjเป็นรูปกลมดังนั้นพวกมันจึงเริ่มต้นเป็นศูนย์ได้ คุณสามารถวางและi=0 j=0
Andrea Biondo

นอกจากนี้คุณสามารถใช้จุดอ่อนเล็ก ๆ น้อย ๆ และการเริ่มต้นเป็นศูนย์เพื่อใช้nเป็นบัฟเฟอร์:n=getchar();n=atoi(&n);
Andrea Biondo

@AndreaBiondo เมื่อฉันลบ i = 0 และ j = 0 เอาต์พุตทั้งหมดอยู่ในหนึ่งบรรทัด คุณทำสิ่งนี้ซ้ำได้ไหม ฉันใช้ gcc 4.9.2
Levi

2

อ็อกเทฟ 37 ไบต์

แก้ไข:แก้ไขจากเวอร์ชั่นลายทางก่อนหน้าของแม่เหล็กไฟฟ้า ขอบคุณ @ เบต้าสลายตัวสำหรับจับความผิดพลาดของฉัน

f=@(n)repmat(["⇅";"⇵";"⇅"],1,n)

f(n)กำหนดฟังก์ชั่น ตัวอย่างผลลัพธ์:

octave:4> f(1)
ans =

⇅
⇵
⇅

octave:5> f(5)
ans =

⇅⇅⇅⇅⇅
⇵⇵⇵⇵⇵
⇅⇅⇅⇅⇅

1

CoffeeScript 60 ไบต์ (58 ตัวอักษร)

ความเข้าใจทำให้ง่ายโดยไม่ต้องเรียกซ้ำ:

f=(n,x='')->x+='\n⇵⇅'[i%(n+1)&&1+i%2]for i in[1..n*3+2];x

1

Ruby, 33 ไบต์

ในฐานะที่เป็นฟังก์ชั่น:

f=->n{[s="↑↓"*n,s.reverse,s]}

ตัวอย่าง:

> puts f[3]
↑↓↑↓↑↓
↓↑↓↑↓↑
↑↓↑↓↑↓

Ruby, 37 ไบต์

โปรแกรมเต็มรูปแบบซึ่งรับอินพุตจาก stdin:

puts s="↑↓"*gets.to_i,s.reverse,s

คุณสามารถสร้างได้เฉพาะฟังก์ชั่นหรือโปรแกรมทั้งหมด แต่ต้องใช้อินพุตและวาดหลายคู่
Dennis

@Dennis ตกลงฉันอยู่กับมัน
daniero

ดูเหมือนว่าเราจะเข้าใจผิด ฉันโพสต์คำพูดเพื่อแสดงให้เห็นว่าฟังก์ชั่นนั้นใช้งานได้จริงเนื่องจากคุณบอกเป็นนัยถึงการแก้ไขครั้งแรกของคุณว่าจำเป็นต้องใช้โปรแกรมแบบเต็ม
Dennis

@Dennis ไม่มีปัญหา ฉันแค่คิดว่าการส่งคืน 3 สายไม่ใช่ "ภาพวาด" แต่ฉันคิดว่ามันไม่สำคัญ Anyways, ได้ทั้งสองรุ่นแข็งแรงเล่นกอล์ฟลงเล็กน้อย :)
daniero

1

> <>, 55 ไบต์

"⇅⇵⇅"{:&3*1-:0(?;\
|.!09v!?%&:&:{o:}/
oa{~}/|.!09

ลองออนไลน์ที่นี่โดยป้อนความยาวที่ต้องการเป็นค่าสแต็กเริ่มต้น

วิธีไม่แก้ปัญหา 59 ไบต์:

"↓↑"{:&3*>1-:0(?;{:{\
 |.!09v!?%&:&:oo}}@:/
9oa{$}/|.!0

1

BBC BASIC, 70 ไบต์

INPUTx:n$=STRING$(x,"/|\\|/"):PRINTn$:PRINTSTRING$(x,"\|//|\"):PRINTn$

นี่อาจเป็นเรื่องของกอล์ฟมากกว่า


1

C, 97 ไบต์

main 4จะเข้าจากพารามิเตอร์แรกบรรทัดคำสั่งเช่น รองรับสูงสุดถึง357913940คู่ ใน C คุณไม่สามารถใช้อักขระหลายไบต์เป็นchars แต่ทำงานได้ดีเป็นสตริง

i,n;main(c,v)char**v;{n=atoi(v[1]);for(i=6*n+3;i--;)printf("%s",i%(2*n+1)?i%2?"↓":"↑":"\n");}

มันมีขนาดเล็กกว่าฟังก์ชั่น แต่คำตอบ C อื่น ๆ เป็นโปรแกรมที่สมบูรณ์ดังนั้นฉันก็ทำเช่นนั้น มันจะเป็น 69 ไบต์:

i;f(n){for(i=6*n+3;i--;)printf("%s",i%(2*n+1)?i%2?"↓":"↑":"\n");}


1

C, 117 89 85 ไบต์

i;main(j,v)char**v;{j=2*atol(v[1])+1;for(;i++<3*j;)printf(i%j?i%2?"↑":"↓":"\n");}

Ungolfed:

i;
main(j,v)
char**v; // Credit to @AndreaBiondo for brilliant idea that I will use a lot in future golfed programs :)
{
    j = 2*atol(v[1])+1;
    for(;i++<3*j;)
        printf(i%j?i%2?"↑":"↓":"\n");
}

1

JavaScript (ES6), 66 ไบต์ (62 ตัวอักษร)

ซึ่งรวมถึงอักขระ Unicode ที่นับเป็นสามไบต์ต่อหนึ่งบรรทัดรวมถึงบรรทัดใหม่ที่บังคับให้นับเป็นหนึ่งไบต์

ใช้การเรียกซ้ำเป็นแรงบันดาลใจจากคำตอบนี้ ฉันพยายามมันแบบไม่วนซ้ำ แต่การสร้างอาเรย์ที่กำหนดนั้นมีตัวละครมากเกินไปแม้ว่าบางคนอาจจะรู้วิธีที่จะทำได้ดีกว่าฉัน

f=n=>(g=(a,i)=>i?g(`
↓↑`[i%(n*2+1)&&1+i%2]+a,i-1):a)('',n*6+2)

การสาธิต

เช่นเดียวกับคำตอบ ES6 ทั้งหมดสามารถแสดงได้ใน Firefox, Edge และ Safari 9 เฉพาะตอนที่เขียน:

f = n => (g = (a, i) => i ? g(`
↓↑` [i % (n * 2 + 1) && 1 + i % 2] + a, i - 1) : a)('', n * 6 + 2)

console.log = x => document.getElementById('O').innerHTML += x + '\n';

console.log(f(1));
console.log(f(2));
console.log(f(4));
console.log(f(32));
<pre><output id=O></output></pre>


1

Java, 150 ไบต์

static void g(int n){n*=2;f(n,0);f(n,1);f(n,0);}static void f(int n,int d){String l="";for(n+=d;n-->d;)l+=(n%2==0)?"↓":"↑";System.out.println(l);}

ผลลัพธ์ของg(2):

↑↓↑↓
↓↑↓↑
↑↓↑↓

1
ฉันคิดว่าคุณต้องใช้ลูกศรแสดงผลดังนั้นฉันขอแนะนำให้คุณเปลี่ยนตัวอย่างผลลัพธ์และรหัสเพื่อให้ชัดเจนว่าคุณไม่ได้ทำผิดกฎ :)
Beta Decay

@BetaDecay I see some approved arrows have been listed and I haven't made the cut! So following your advice I've changed it
DeadChex

0

Python 2, 45 55 bytes

edit: modified arrows

Pretty straightforward approach. Doesn't work with unicode arrows, though.

def f(n):x=" /|\\ \\|/"*n;print x+"\n "+x[::-1]+"\n"+x

if you look at the comments in the original post, you will see that you are specifically not allowed to use ^v arrows as they do not have a tail
Levi

1
Thanks, I haven't noticed that. Changed it into "/|\", hope it's ok now.
heo

0

R, 60 62 bytes

Takes input from STDIN and outputs to STDOUT. Creates a 3 x (2 * input) array, adds a column of carriage returns and then outputs the transposed array.

cat(t(cbind(array(c('↑','↓'),c(3,2*scan())),'\n')),sep='')

Test run

cat(t(cbind(array(c('↑','↓'),c(3,2*scan())),'\n')),sep='')
1: 25
2: 
Read 1 item
↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓

0

Tcl 49 bytes

No winner but at least it's competitive:

foreach x {⇅ ⇵ ⇅} {puts [string repeat $x $argv]}

You can save bytes using lmap instead of foreach
sergiol

And string repeatcan be abbreviated to string re
sergiol

And I am not sure, but implementing it as a proc retrieving a side effect of lmap returning values and replacing $argv by someone one-letter variable may save bytes.
sergiol

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.