ฉันไปเที่ยวเร็วแค่ไหน?


19

บทนำ

มาตรวัดความเร็วรถยนต์ของฉันถูกแฮ็ก! แทนที่จะแสดงให้ฉันเห็นว่าฉันขับรถเร็วแค่ไหนมันก็แสดงให้เห็นว่า: "Vroooom!" โปรดช่วยฉันรู้ว่าฉันจะไปเร็วแค่ไหน

ท้าทาย

รับสตริงเป็นอินพุตและตรวจสอบว่าตรงกับ regex /^[Vv]ro*m!$/mหรือไม่ ในภาษาอังกฤษที่หมายถึงสายของสตริงใด ๆ จะต้องเริ่มต้นด้วยเงินทุนหรือตัวพิมพ์เล็กvแล้วตัวพิมพ์เล็กrแล้วจำนวนเงินใด ๆ (รวมทั้งศูนย์) ของตัวอักษรตัวพิมพ์เล็กแล้วสตริงที่แน่นอนo m!อาจมีบรรทัดอื่น แต่สตริง Vroom ต้องอยู่ในบรรทัดของตัวเอง

หากคุณพบการแข่งขันคุณจะต้องนับจำนวนของoในสตริง Vroom และส่งออก หากคุณไม่พบคู่ที่ตรงกันคุณควรส่งออกค่าเริ่มต้นใด ๆ ที่ไม่สามารถแสดงเป็นอย่างอื่นได้ (เช่น-1หรือสตริงว่าง)

การแจ้งเตือน

เกณฑ์การให้คะแนน

นี่คือดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ อย่างไรก็ตามฉันจะไม่ทำเครื่องหมายคำตอบใด ๆ ตามที่ยอมรับ

กรณีทดสอบ

อินพุต

Vrom!

เอาท์พุต 1

อินพุต

vrooooooom!

เอาท์พุต 7

อินพุต

Hello, Vroom!

เอาท์พุต (none)

อินพุต

Foo bar boo baz
Vrooom!
hi

เอาท์พุต 3

อินพุต

Vrm!ooo

เอาท์พุต (none)

อินพุต

PPCG puzzlers pie

เอาท์พุต (none)

อินพุต

hallo
vROOOm!

เอาท์พุต (none)

คำตอบ:



4

Python 2 , 56 53 ไบต์

lambda x:len(re.search('^[Vv]r(o*)m!$',x,8).group(1))

ลองออนไลน์!

regex พื้นฐานและการจัดกลุ่มใช้แฟล็ก re.MULTILINE (ซึ่งมีค่า 8) และ re.search เพื่อให้แน่ใจว่าทำงานได้ดีกับอินพุตหลายบรรทัด เพิ่มข้อยกเว้นเมื่อไม่พบคู่ที่ตรงกัน ขอบคุณ @ovs สำหรับ -3 ไบต์จาก(re.M == 8)ปลาย


1
ยินดีต้อนรับสู่ PPCG! ฉันจัดรูปแบบคำตอบของคุณใหม่เพื่อให้ดูดีขึ้นเล็กน้อยหากคุณไม่พอใจกับการแก้ไขของฉันคุณสามารถย้อนกลับได้ตลอดเวลา Btw ฉันขอแนะนำให้ลิงก์ไปยังบางสิ่งเช่นtio.runเพื่อให้ผู้คนสามารถทดสอบคำตอบของคุณได้อย่างง่ายดาย
ბიმო

re.Mมีค่า8ดังนั้นสามารถใช้re.search(regex,x,8)
ovs

4

R , 62 60 58 44 ไบต์

nchar(grep("^[Vv]ro*m!$",readLines(),v=T))-4

ลองออนไลน์!

@Giuseppe ที่มี 14 ไบต์ golfed

วิธีการดั้งเดิมพร้อมคำอธิบาย:

function(x)attr(el(regexec("(?m)[Vv]r(o*)m!$",x,,T)),"m")[2]

ลองออนไลน์!

R มีฟังก์ชั่นการจับคู่รูปแบบเจ็ดแบบ คนที่ใช้กันอย่างแพร่หลายมีgrep, greplและแต่นี่คือการใช้งานที่ดีสำหรับsubregexec

regexecให้สิ่งต่างๆมากมายหนึ่งในนั้นคือความยาวของสตริงย่อยที่ถูกจับในกรณีนี้คือ(o*)ส่วนของ multiline regex

attr(el .... "m")[2]สิ่งที่เป็นวิธีที่ golfy ที่จะได้รับจำนวนที่ต้องการ

ส่งคืนNAถ้าไม่มีการจับคู่



ฉันมีวิธี 44 ไบต์ ... อย่าโพสต์มันจนกว่าคุณจะต้องการให้ฉัน
Giuseppe

@iuseppe ไม่แน่ใจว่าทำไมไม่ โดยเฉพาะอย่างยิ่งถ้ามันแตกต่างกันโดยพื้นฐาน
ngm

3

JavaScript (Node.js)ขนาด 41 ไบต์

a=>(l=/[Vv]r(o*)m!/.exec(a))&&l[1].length

ลองออนไลน์!


นี้ล้มเหลวvroooooooooooom!x\nvrom!
ბიმო

1
เมื่อเห็นว่าเราอนุญาตให้ออกโดยมีข้อผิดพลาดหากไม่พบข้อมูลที่ตรงกันคุณสามารถทำเช่นนี้ได้เป็นเวลา 3 ไบต์แก้ไขปัญหา @BMO ที่กล่าวถึงข้างต้นในกระบวนการ
Shaggy

Uncrossed-41 ยังคงเป็น 41
โปรแกรม Redwolf

@Shaggy มีพื้นที่ว่างใน[1]. lengthอะไร
l4m2

@ l4m2 พิมพ์ผิด! ผมไม่ได้มองเห็นมันบนโทรศัพท์ 'ทำให้ฉันlengthถูกทำลายเพื่อขึ้นบรรทัดใหม่อยู่แล้ว
Shaggy

3

Powershell, 62 58 53 48 ไบต์ไบต์

"$($args|sls '(?m-i)^[Vv]ro*m!$'|% M*)".Length-4

ส่งคืนตัวเลขจำนวนoในครั้งแรกVroom!หรือ -4 ถ้าVroom!ไม่พบ

หมายเหตุ:

  • slsเป็นนามแฝงสำหรับเลือก-String ;
  • (?m-i) ภายใน regexp หมายถึง:
    • ใช้โหมดหลายบรรทัด ^และ$จับคู่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัดแทนที่จะเป็นจุดเริ่มต้นและจุดสิ้นสุดของสตริง
    • ใช้การจับคู่แบบตรงตามตัวพิมพ์ใหญ่ - เล็ก
  • |% M*เป็นทางลัดสำหรับคุณสมบัติMatchesซึ่งให้การจับคู่ครั้งแรกเพราะเราไม่ได้ใช้-AllMatchesพารามิเตอร์

สคริปต์ทดสอบ:

$f = {

"$($args|sls '(?m-i)^[Vv]ro*m!$'|% M*)".Length-4

}

@(
,('Vrom!',1)
,('vrooooooom!',7)
,('Hello, Vroom!',-4)
,('Foo bar boo baz
Vrooom!
hi',3)
,('Vrm!ooo',-4)
,('PPCG puzzlers pie',-4)
,('hallo
vROOOm!',-4)
,('
Vrooom!
Vrooooom!
',3)        # undefined behavior.
,('vrm!',0) # :)
) | % {
    $n,$expected = $_
    $result = &$f $n
    "$($result-eq$expected): $result"
}

เอาท์พุท:

True: 1
True: 7
True: -4
True: 3
True: -4
True: -4
True: -4
True: 3
True: 0

2

PowerShell , 83 ไบต์

($args-split"`n"|%{if(($x=[regex]::Match($_,"^[Vv]ro*m!$")).success){$x}}).length-4

ลองออนไลน์!

-splits การป้อนข้อมูล$argsบน`newlines, ท่อเหล่านั้นเป็นห่วง การวนซ้ำแต่ละครั้งเราตรวจสอบว่าเรา[regex]::Matchเป็น.successหรือไม่ ถ้าเป็นเช่นนั้นเราปล่อยให้$x(วัตถุผลลัพธ์ regex) บนไปป์ไลน์ นอกลูปเราใช้.lengthคุณสมบัติ - ถ้าเป็นผลลัพธ์ผลลัพธ์ของ regex นี่คือความยาวของการจับคู่ (เช่น "Vroom!" จะเท่ากับ 6); ถ้าไม่ใช่วัตถุผลลัพธ์ regex ความยาวเป็นศูนย์ จากนั้นเราจะลบ4เพื่อลบจำนวนสำหรับVrm!และปล่อยให้อยู่ในท่อ เอาท์พุทเป็นนัย เอาต์พุต a -4หากไม่พบคู่ที่ตรงกัน


sls "^[Vv]ro*m!$"?
mazzy

@mazzy วิธีนี้จะทำงานกับอินพุตหลายบรรทัดได้อย่างไร อินพุตเดียวของคุณคือสตริงเดียวและslsจะ('','Vroom!','')ยกตัวอย่างเช่น
AdmBorkBork

มันยังไม่เสร็จสิ้นการแก้ปัญหา ฉันหมายถึงคุณสามารถลองslsแทน[regex]::Match
mazzy

@azaz บางทีคุณควรโพสต์เป็นโซลูชันแยกต่างหาก
AdmBorkBork

2

เรติน่า 21 ไบต์

L$m`^[Vv]r(o*)m!$
$.1

ลองออนไลน์! คำอธิบาย: Lแสดงรายการที่ตรงกันดังนั้นหาก regex ไม่สามารถจับคู่ได้ผลลัพธ์จะว่างเปล่า $ทำให้ผลลัพธ์นั้นเป็นการทดแทนมากกว่าการแข่งขัน mทำให้เป็นการแข่งขันแบบหลายบรรทัด (เทียบเท่ากับส่วนท้ายmในคำถาม) .แทนทำให้ความยาวของการจับภาพในทศนิยมมันเอาท์พุท


2

SNOBOL4 (CSNOBOL4) , 99 82 ไบต์

I	INPUT POS(0) ('V' | 'v') 'r' ARBNO('o') @X 'm!' RPOS(0)	:F(I)
	OUTPUT =X - 2
END

ลองออนไลน์!

การแปลข้อมูลจำเพาะ SNOBOL โดยตรงสวยอ่านแต่ละบรรทัดจนกว่าจะพบหนึ่งที่ตรงกับ^[Vv]ro*m!$แล้วส่งออกความยาวของo*บิต

ป้อนการวนซ้ำไม่สิ้นสุดหากไม่Vroom!พบ


ช่องว่างทั้งหมดนั้นจำเป็นหรือไม่? ว้าว.
FireCubez

5
@FireCubez ใช่นั่นคือสิ่งที่คุณได้รับด้วยภาษาอายุ 50 ปีขึ้นไป: ข้อกำหนดช่องว่างแปลก ๆ มันใช้ช่องว่าง / แท็บเป็นการต่อข้อมูลและคุณต้องล้อมรอบตัวดำเนินการด้วยช่องว่างเช่นกัน
Giuseppe


2

C (gcc) , 188 183 ไบต์

เหตุใดจึงต้องใช้ regexes เมื่อคุณสามารถใช้เครื่องสถานะแทนได้ :-)

a,b;f(char*s){for(a=b=0;a<5;s++){!a&*s==86|*s=='v'?a++:a==1&*s=='r'?a++:a==2?*s-'o'?*s-'m'?0:a++:b++:a==3&*s==33?a++:!*s&a==4?a++:*s-10?(a=-1):a-4?(a=0):a++;if(!*s)break;}s=a<5?-1:b;}

ลองออนไลน์!



1

Haskell , 75 71 69 ไบต์

f s=[length n-2|r<-lines s,n<-scanr(:)"m!"$'o'<$r,v<-"Vv",r==v:'r':n]

ลองออนไลน์!

ไม่มี regex สร้างVrooom!บิลด์ที่ถูกต้องทั้งหมดจนถึงความยาวที่เพียงพอและเปรียบเทียบบรรทัดของอินพุตกับพวกเขาแทนที่จะรวบรวมจำนวนos ในรายการ ดังนั้นสำหรับอินพุตที่ไม่ถูกต้องจะส่งคืนรายการว่าง


1

C (gcc) , 104 100 ไบต์

s;main(c,n){for(;gets(&s);sscanf(&s,"v%*[o]%nm%c%c",&n,&c,&c)-1||c-33?:printf("%d",n-2))s=s-768|32;}

ลองออนไลน์!

เอาต์พุตnสำหรับแต่ละบรรทัดที่ถูกต้องตรงตามความต้องการ (ไม่มีอะไรถ้าไม่มีบรรทัดที่ถูกต้อง, nถ้าตรงหนึ่งบรรทัด)

int s; // Use as a char[]
main(c){
  while(gets(&s)) {
    s=s-768|32; // byte 0: 'V'=>'v'; byte 1: 'r'=>'o', 'o'=>'l'
    if (sscanf(&s,"v%[o]m%c%c",&s,&c,&c)==2 && c=='!') {
    // The last '%c' get nothing if it's EndOfLine
      printf("%d",strlen(&s)-1))
    }
  }
}

มันตลกมากที่คำตอบของ regex นั้นยาวกว่านี้
Windmill Cookies

@WindmillCookies GCC ต้องการรหัสเพิ่มเติมเพื่อรองรับ regex
l4m2

อืมม ดูเหมือนว่าชื่อที่เกี่ยวข้องกับ regexes มีความยาวมาก
วินด์มิลคุกกี้

1

Japt , 18 ไบต์

fè`^[Vv]*m!$` ®èo

ลองออนไลน์!

บันทึกไบต์โดยการป้อนข้อมูลเป็นอาร์เรย์ของบรรทัด

รวมถึงตัวละครที่ unprintable ระหว่างและ]*

คำอธิบาย:

fè                   Get the line(s) that match
  `^[Vv]*m!$`          The provided RegEx with a little compression
              ®èo    Count the number of "o" in that line if it exists



ที่จริงแล้วเมื่ออินพุตสามารถเป็นอาร์เรย์ของเส้นคุณสามารถเคาะไบต์แรกจากความคิดเห็นแรกของฉันด้านบน
Shaggy

@Shaggy ฉันไม่พบที่ใดก็ได้ในคำถามที่ระบุว่าการป้อนข้อมูลสามารถเป็นอาร์เรย์ของเส้นและดูเหมือนจะไม่ปรากฏในวิธีการ I / O เริ่มต้นที่สตริง multiline สามารถนำมาเป็นอาร์เรย์ของบรรทัด . ดูเหมือนว่าจะมีเหตุผล แต่ฉันจะรอการยืนยันก่อน
Kamil Drakari



0

Pyth, 20 ไบต์

/R\o:#"^Vro*m!$"1cQb

เอาต์พุตเป็นรายการที่มีเฉพาะจำนวน 'o's หรือรายการว่างเปล่าหากไม่มี Vroom
ลองที่นี่

คำอธิบาย

/R\o:#"^Vro*m!$"1cQb
                 cQb  Split on newlines.
    :#"^Vro*m!$"1     Filter the ones that match the regex.
/R\o                  Count the `o`s in each remaining element.



0

สีแดง 104 ไบต์

func[s][n:""if parse/case s[opt[thru"^/"]["V"|"v"]"r"copy n any"o""m!"opt["^/"to end]][print length? n]]

ลองออนไลน์!

ทางออกที่ตรงไปตรงมา สีแดงparseนั้นเท่ห์และอ่านได้ แต่นานเกินไปเมื่อเทียบกับ regex

Red []
f: func [ s ] [
    n: ""
    if parse/case s [
             opt [ thru newline ]
             [ "V" | "v" ]
             "r"
             copy n any "o"
             "m!"
             opt [ newline to end ]
    ] [ print length? n ]
]


0

JavaScript, 90 73 61 ไบต์

_=>_.replace(/^[Vv]r(o*)m!$|[^\1]/mg,(m,a)=>a||'').length||-1

ลองออนไลน์!

แทนที่อักขระที่ไม่ได้ถูกจับ(o*)ด้วยสตริงว่างเปล่าส่งคืนlengthสตริงที่มีเท่านั้น"o"หรือ-1ถ้าสตริงผลลัพธ์ว่างเปล่า


0

Ruby, 32 ไบต์

->n{n=~/^[Vv]r(o*)m!$/m;$1.size}

จับคู่สตริงกับ regex จากนั้นใช้ตัวแปรกลุ่มมายากล regex ของ Ruby เพื่อให้ได้ขนาดกลุ่มแรก

เรียกว่าเป็นเช่นนั้น:

x=->n{n=~/^[Vv]r(o*)m!$/m;$1.size}
x["Vrooooooooooooooooooooom!"] # returns 21

0

Ruby , 28 29 ไบต์

p$_[/^[vV]r(o*)m!$/].count ?o

ลองออนไลน์!

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

->l{l[/^[Vv]r(o*)m!$/].count ?o}

คุณจะทดสอบสตริงหลายบรรทัดได้อย่างไร
Laikoni

1
ล้มเหลวในVROM!
l4m2

0

Clojure , 90 ไบต์

#(do(def a(clojure.string/replace % #"(?ms).*^[Vv]r(o*)m!$.*""$1"))(if(= a %)-1(count a)))

ลองออนไลน์!

ฟังก์ชันที่ไม่ระบุชื่อนี้ส่งคืนจำนวน "o" s ในสตริง vroom หรือ -1 ถ้าไม่มีสตริง vroom ที่ถูกต้อง

เวอร์ชันที่อ่านได้

(fn [s]
  (def a (clojure.string/replace s #"(?ms).*^[Vv]r(o*)m!$.*" "$1"))
  (if (= a s) -1 (count a)))

คำอธิบาย

#"(?ms).*^[Vv]r(o*)m!$.*" ; This regex matches any string that contains a valid vroom string. The first capturing group contains only the "o"s in the vroom string
(clojure.string/replace s #"(?ms).*^[Vv]r(o*)m!$.*" "$1") ; Replaces a match of the above regex with its first capturing group. The resulting string is stored in the variable a
(if (= a s) -1 (count a))) ; a equals s if and only if there is no valid vroom string, so if a equal s we return -1. If there is a valid vroom string, a contains only the "o"s from the vroom string, so we return the length of a

0

perl -nE, 35 ไบต์

$s=length$1if/^[Vv]r(o*)m!$/}{say$s

วิธีนี้ใช้คำทักทาย Eskimo ( }{) ซึ่งเป็นการละเมิดวิธีที่รวดเร็วในการจัดการ-nตัวเลือกด้วย perl


0

Java 8, 109 ไบต์

s->{int r=-1;for(var l:s.split("\n"))r=l.matches("[Vv]ro*m\\!")?l.replaceAll("[^o]","").length():r;return r;}

ลองออนไลน์

คำอธิบาย:

s->{                             // Method with String parameter and integer return-type
  int r=-1;                      //  Result-integer, starting at -1
  for(var l:s.split("\n"))       //  Loop over the lines:
    r=l.matches("[Vv]ro*m\\!")?  //   If the current line matches the regex:
       l.replaceAll("[^o]","").length()
                                 //    Change `r` to the amount of "o"'s in it
      :                          //   Else:
       r;                        //    Leave the result `r` unchanged
  return r;}                     //  Return the result

0

C # (. NET Core) , 134 122 ไบต์

for(var a="";a!=null;a=Console.ReadLine())if(new Regex(@"^[Vv]ro*m!$").Match(a).Success)Console.Write(a.Count(x=>x=='o'));

ลองออนไลน์!

-12 ไบต์: ย้าย null เครื่องหมายถูกใน for วงและย้ายวงเล็บเหลี่ยม

Ungolfed:

for(var a = ""; a != null; a = Console.ReadLine())  // initialize a, and while a isn't null, set to new line from console
    if(new Regex(@"^[Vv]ro*m!$")                        // set regex
                        .Match(a).Success)              // check if the line from the console matches
        Console.Write(a.Count(x => x == 'o'));              // write the number of 'o's to the console

-10 ไบต์ด้วยตัวดำเนินการnull-coalescingและเงื่อนไขแบบ C # 6 ซึ่งไม่จำเป็น{}เมื่อใช้คำสั่งเดียวในforลูป:for(var a="";;a=Console.ReadLine())Console.WriteLine(new Regex(@"^[Vv]ro*m!$").Match(a??"").Success?a.Count(x =>x=='o'):-1);
Ivan García Topete

นอกจากนี้ความต้องการนี้using System.Linq; using System.Text.RegularExpressions;ไม่แน่ใจว่านี่เป็นเรื่องสำคัญหรือไม่
Ivan García Topete

รหัสที่คุณให้มาไม่ได้ทำงานจริงตามที่มันจะไม่เพียง แต่การส่งออก-1ทุกสายว่ามันไม่ได้ทำงานใน แต่มันจะออกตลอดไปตามที่มีการตรวจสอบไม่มี-1 null
Meerkat

ไม่มันจะไม่ a = Console.ReadLine()ทำให้วนซ้ำดังนั้นทุกครั้งที่คุณร้องขออินพุตให้วนซ้ำต่อไปถ้าไม่มีอินพุตลูปกำลังรอไม่พิมพ์-1ตลอดไป
Ivan García Topete

พิสูจน์แนวคิด แม้ว่ามันจะทำงานได้ตามที่คุณพูด แต่การวนรอบไม่สิ้นสุดนั้นไม่ใช่พฤติกรรมในอุดมคติ ไม่ว่าฉันจะย้ายการตรวจสอบเป็นโมฆะไปที่การวนซ้ำซึ่งจะลบวงเล็บ (และทำให้รหัสสั้นกว่าคำแนะนำของคุณ)
Meerkat

0

05AB1E , 39 37 ไบต์

|ʒć„VvsåsÁÁD…m!rÅ?s¦¦¦Ù'oså)P}Dgi`'o¢

แม้ว่า 05AB1E เป็นภาษากอล์ฟ แต่ความท้าทายจาก regex ไม่ใช่ชุดที่แข็งแกร่งเนื่องจากไม่มีการสร้าง regex

เอาต์พุต[]หากไม่พบคู่ที่ตรงกัน

ลองมันออนไลน์หรือตรวจสอบกรณีทดสอบทั้งหมด

คำอธิบาย:

|              # Get the input split by newlines
 ʒ             # Filter it by:
  ć            #  Head extracted: Pop and push the remainder and head-character
               #   i.e. "vrm!" → "rm!" and "v"
               #   i.e. "Vroaom!" → "roaom!" and "V"
   Vvså       #  Is this head character in the string "Vv"?
               #   i.e. "v" → 1 (truthy)
               #   i.e. "V" → 1 (truthy)
  s            #  Swap so the remainder is at the top of the stack again
   ÁÁ          #  Rotate it twice to the right
               #   i.e. "rm!" → "m!r"
               #   i.e. "roaom!" → "m!roao"
     D         #  Duplicate it
      m!rÅ?   #  Does the rotated remainder start with "m!r"?
               #   i.e. "m!r" → 1 (truthy)
               #   i.e. "m!roao" → 1 (truthy)
  s¦¦¦         #  Remove the first three characters from the duplicated rotated remainder
               #   i.e. "m!r" → ""
               #   i.e. "m!roao" → "oao"
      Ù        #  Uniquify, leaving only distinct characters
               #   i.e. "" → ""
               #   i.e. "oao" → "oa"
       'oså   '#  Is this uniquified string in the string "o"?
               #   i.e. "" → 1 (truthy)
               #   i.e. "oa" → 0 (falsey)
  )P           #  Check if all three checks above are truthy
               #   i.e. [1,1,1] → 1 (truthy)
               #   i.e. [1,1,0] → 0 (falsey)
 }             # Close the filter
  D            # After the filter, duplicate the list
   gi          # If its length is 1:
               #   i.e. ["vrm!"] → 1 (truthy)
               #   i.e. [] → 0 (falsey)
     `         #  Push the value in this list to the stack
               #   i.e. ["vrm!"] → "vrm!"
      'o¢     '#  And count the amount of "o" in it (and output implicitly)
               #   i.e. "vrm!" → 0
               # (Implicit else:)
               #  (Implicitly output the duplicated empty list)
               #   i.e. []

0

C ++, MSVC, 164 159 ไบต์

-5 ไบต์ขอบคุณZacharý

มันรวบรวมแม้กับregexส่วนหัวเท่านั้น

#include<regex>
using namespace std;int f(vector<string>i){smatch m;for(auto&e:i)if(regex_match(e,m,regex("^[Vv]ro*m!$")))return m[0].str().size()-4;return-1;}

การทดสอบ:

std::cout << "Vrom!" << " -> " << f({ "Vrom!" }) << '\n';
std::cout << "vrooooooom!" << " -> " << f({ "vrooooooom!" }) << '\n';
std::cout << "Hello, Vroom!" << " -> " << f({ "Hello, Vroom!" }) << '\n';
std::cout << "Foo bar boo baz \\n Vrooom! \\n hi" << " -> " << f({ "Foo bar boo baz", "Vrooom!", "hi" }) << '\n';
std::cout << "Vrm!ooo" << " -> " << f({ "Vrm!ooo" }) << '\n';
std::cout << "PPCG puzzlers pie" << " -> " << f({ "PPCG puzzlers pie" }) << '\n';
std::cout << "hallo \\n vROOOm!" << " -> " << f({ "hallo", "vROOOm!" }) << '\n';

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