एक मतपत्र प्रिंट करें!


16

जैसा कि आप सभी जानते हैं कि आज चुनाव का दिन है!

आपका कार्य आज एक इनपुट दिया गया, एक मतपत्र का प्रिंट आउट लेना है।

यदि इनपुट है Hillary Clinton, तो प्रिंट करें:

Hillary Clinton   ===-----===>
Donald Trump      ===     ===>
____________      ===     ===>

हालाँकि, यदि इनपुट है Donald Trump, तो प्रिंट करें:

Hillary Clinton   ===     ===>
Donald Trump      ===-----===>
____________      ===     ===>

यदि यह कुछ और है, तो इसे तीसरी पंक्ति पर लिखें:

Hillary Clinton   ===     ===>
Donald Trump      ===     ===>
Oliver Ni         ===-----===>

(तकनीकी रूप से, मैं अभी 18 साल का नहीं हूं ...)

याद रखें, यह , इसलिए सबसे कम बाइट्स वाला कोड जीत जाता है।


8
"उपरोक्त विकल्प में से कोई नहीं"? :)
क्रिति लिथोस

@ कृतिलिथोस हम, ना ...
ओलिवर नी

8
"कुछ और" के नाम पर कोई अधिकतम लंबाई? (आपके उदाहरणों में पहले समान चिह्न से पहले 18 अक्षर हैं)
लिंक एनजी

1
क्या यह संवेदनशील या असंवेदनशील है? परीक्षण मामलों को देखते हुए मैं इस समय संवेदनशील मान रहा हूं।
केविन क्रूजसेन

@KritiiLithos लेकिन सिस्टम में हेराफेरी होगी!
OldBunny2800

जवाबों:


6

जेली, 55 53 बाइट्स

³ẇị⁾- x5⁾ =,”=x3¤j;”>ṭ
ṭ“Gụ©l⁴“%eŻƤ(»”_x12¤ṭQḣ3z⁶ZÇ€Y

इसे ऑनलाइन आज़माएं!

व्याख्या

³ẇị⁾- x5⁾ =,”=x3¤j;”>ṭ   Helper link. Argument: row
³ẇ                       Check if the user's vote is in this row
  ị⁾-                    Take "-" if it was, " " otherwise
      x5                 Take five of that character
        ⁾ =,”=           Take the array [" =", "="]
              x3         Turn it into ["   ===", "==="]
                ¤        Combine the two previous steps into a nilad
                 j       Join the list by the five character string
                  ;”>    Add ">"
                     ṭ   Prepend the original row

ṭ“Gụ©l⁴“%eŻƤ(»”_x12¤ṭQḣ3z⁶ZÇ€Y   Main link. Argument: vote
 “Gụ©l⁴“%eŻƤ(»                   Take the array ["Hillary Clinton", "Donald Trump"]
ṭ                                Add the user's vote to the list
              ”_                 Take "_"
                x12              Take twelve times that
                   ¤             Combine the two previous steps into a nilad
                    ṭ            Add that string to the list
                     Q           Remove duplicates
                      ḣ3         Take the three first items
                        z⁶       Transpose, padding with spaces
                          Z      Transpose back
                           ǀ    Apply the helper to each row
                             Y   Join with newlines

4

पायथन 2, 127 बाइट्स

X=['Hillary Clinton','Donald Trump']
i=input()
X+=[[i],['_'*12]][i in X]
for x in X:print x.ljust(18)+'==='+' -'[i==x]*5+'===>'


2

जावा 7, 390 339 335 बाइट्स

String c(String s){String h="Hillary Clinton",d="Donald Trump",r=h+"   ===Q===>\n"+d+"      ===X===>\nZ===J===>";boolean H=h.equals(s),D=d.equals(s);for(int i=s.length();i++<18;s+=" ");return r.replace(H?"Q":D?"X":"J","-----").replace(H|D?"Z":"~","____________      ").replaceAll(H?"X|J":D?"Q|J":"Q|X","     ").replace(H|D?"~":"Z",s);}

Ungolfed और परीक्षण कोड:

इसे यहाँ आज़माएँ।

class M{
  static String c(String s){
    String h = "Hillary Clinton",
           d = "Donald Trump",
           r = h+"   ===Q===>\n"+d+"      ===X===>\nZ===J===>";
    boolean H = h.equals(s),
            D = d.equals(s);
    for(int i = s.length(); i++ < 18; s += " ");
    return r.replace(H?"Q":D?"X":"J", "-----")
            .replace(H|D?"Z":"~", "____________      ")
            .replaceAll(H?"X|J":D?"Q|J":"Q|X", "     ")
            .replace(H|D?"~":"Z", s);
  }

  public static void main(String[] a){
    System.out.println(c("Hillary Clinton"));
    System.out.println();
    System.out.println(c("Donald Trump"));
    System.out.println();
    System.out.println(c("Anyone else?.."));
    System.out.println();
    System.out.println(c("S"));
    System.out.println();
    System.out.println(c("Anyone who is willing to take the job"));
  }
}

आउटपुट:

Hillary Clinton   ===-----===>
Donald Trump      ===     ===>
____________      ===     ===>

Hillary Clinton   ===     ===>
Donald Trump      ===-----===>
____________      ===     ===>

Hillary Clinton   ===     ===>
Donald Trump      ===     ===>
Anyone else?..    ===-----===>

Hillary Clinton   ===     ===>
Donald Trump      ===     ===>
S                 ===-----===>

Hillary Clinton   ===     ===>
Donald Trump      ===     ===>
Anyone who is willing to take the job===-----===>

2

जावास्क्रिप्ट (ईएस 6), 149 बाइट्स

s=>['Hillary Clinton','Donald Trump',0].map(S=>((S?S:s||'____________')+p+p+p+p+p).slice(0,18)+`===${!S^S==s?(s=0,'-----'):p}===>`,p='     ').join`
`

डेमो


1

वी , 104 बाइट्स

OHillary Clinton³ ³=µ ³=>YpRDonald Trump   p15r_ñ/^¨á« ᫾©.*î¨.*î©*\1
22|5r-Gdññ3GjéRDk@"Í_/ 
22|5r-

इसे ऑनलाइन आज़माएं!

यह उत्तर रास्ता बहुत ज्यादा हैकिया है, और रास्ता बहुत लंबा है। मुझे लगता है कि जब आप एक टेक्स्ट-एडिटर से एक गोल्फिंग-भाषा डिज़ाइन करते हैं तो आपको क्या मिलता है।¯\_(ツ)_/¯


रुको क्या करता Oहै? ऐसा लगता है जैसे यह कार्य करता हैi
कॉनर ओ'ब्रायन

@ यह सही है, वे दोनों सम्मिलित मोड में प्रवेश करते हैं। एकमात्र अंतर वह है जहां बफर में कर्सर शुरू होता है। वहाँ भी है iIaAoOsSRकि सभी किसी न किसी तरह से सम्मिलित मोड में प्रवेश करें
DJMcMayhem

0

बैच, 210 बाइट्स

@set s=%1
@call:l %1 "Hillary Clinton"
@call:l %1 "Donald Trump"
@call:l %1 %s%
@exit/b
:l
@set v=     
@if %1==%2 set v=-----&set s=____________
@set t=%~2                  
@echo %t:~0,18%===%v%===^>

नोट: लाइन @set v=में 5 अनुगामी स्थान होते हैं, और लाइन @set t=%~2में 18 होते हैं। इनपुट को उद्धृत कमांड-लाइन पैरामीटर के रूप में स्वीकार करता है।


0

सी #, 266 बाइट्स

golfed:

string B(string s){var h="Hilary Clinton".PadRight(17);var d="Donald Trump".PadRight(17);var r="===     ===>\n";var c=r.Replace(" ", "-");var b="____________".PadRight(17);return s==h.Trim()?s.PadRight(17)+c+d+r+b+r:s==d.Trim()?h+r+d+c+b+r:h+r+d+r+s.PadRight(17)+c;}

Ungolfed:

public string B(string s)
{
  var h = "Hilary Clinton".PadRight(17);
  var d = "Donald Trump".PadRight(17);
  var r = "===     ===>\n";
  var c = r.Replace(" ", "-");
  var b = "____________".PadRight(17);
  return s == h.Trim() ? s.PadRight(17) + c + d + r + b + r :
    s == d.Trim() ? h + r + d + c + b + r :
      h + r + d + r + s.PadRight(17) + c;
}

उन सभी PadRights के लिए एक Func बनाने की कोशिश की ... बिल्कुल वही बाइट काउंट ...

परिक्षण:

var printABallot = new PrintABallot();
Console.WriteLine(printABallot.B("Hilary Clinton"));

Hilary Clinton   ===-----===>
Donald Trump     ===     ===>
____________     ===     ===>


Console.WriteLine(printABallot.B("Donald Trump"));

Hilary Clinton   ===     ===>
Donald Trump     ===-----===>
____________     ===     ===>


Console.WriteLine(printABallot.B("Kanye West"));

Hilary Clinton   ===     ===>
Donald Trump     ===     ===>
Kanye West       ===-----===>


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.