I'm just curious about how speakers of other languages express CP terms. You can also share the literal translation if you think it's interesting — does your language's word for a tree (connected undirected acyclic graph) the same as the word the plant with leaves and a wood trunk? Share whatever you want, such as the pronunciation or word in the script of your language. If you say basic CP terms exactly the same as in English, share that because I find that pretty interesting. You can share any number of terms or algorithms, such as: Competitive Programming
code
array
Java
C++
graph
tree
node/vertex
edge
Dynamic Programming
DFS/BFS
integer
long
variable
test case
sample case
queue
stack
for/while loop
if statement
...
The more words the better, the more languages the better!
Edit 1: some more words —
Algorithm
Data Structure
Segment Tree
Contest
Input/Output
Binary
Hexadecimal
Memory
Time Limit Exceeded
Wrong Answer
String
True/False
Edit 2: Any CP slang or words that don't have a direct English translation?
Lockdown across the world is really making people curious.
Yup, I'm stuck at home until at least mid June. Also I think languages are cool.
The terms we use in the Turkish language are:
Thanks! It's interesting to see which words look similar to English.
In Finnish:
If I remember correctly, you should know how "segment tree" is in Polish, right :D?
Yes, I knew it in 2015, unfortunately not anymore :)
By the way, some senior competitive programmers in Finland have used the word "puolapuu" (meaning "Polish tree") for "segment tree" because we first learned it from some Polish contestants in the early days.
One thing I find funny about Russian CP terms is that we have many names for "treap".
The most commonly used is "cartesian tree/dekartovo derevo/декартово дерево" or shortened version "dekartach/декартач" or just "dd/дд".
However, there are a lot more of them. Most commonly used alternative term is formed in the same way as English "treap" (TRee + hEAP) — "deramida/дерамида" (DERevo (tree, дерево) + pirAMIDA (heap, куча)). In the same way you can form two other names, although they are usually used only in jokes: "pivo/пиво" (PIramida + dereVO) and "kurevo/курево" (KUcha (also heap, куча) + deREVO). Funny thing is that these words in usual Russian stand for "beer" and "weed/tobacco" accordingly.
This year in NEERC we had a problem named "Bad treap" — notice the wordplay with "bad trip". Jury members were very proud of themselves when they invented this wordplay, but soon they found out that it's quite well known and can even be translated to Russian as "plohoe (bad) kurevo/плохое курево" which means "bad weed" :D
code — kod
array — tablica
graph — graf
tree — drzewo
node/vertex — wierzchołek
edge — krawędź
Dynamic Programming — programowanie dynamiczne
DFS/BFS — przeszukiwanie w głąb/wszersz
integer — liczba całkowita
variable — zmienna
test case — przypadek testowy
sample case — przykład
queue — kolejka
stack — stos
loop — pętla
segment tree — drzewo przedziałowe
incorrect submission — bomba (it's funny this is called bomb in Polish only)
simulated annealing — symulowane wyżarzanie
yo mama — twoja stara
and fasten your seat belts now ...
counterexample — kontrprzykład (if I'm not mistaken this is an only word in Polish with >=6 consecutive consonants)
I've seen a couple of those in Radewoosh code's.
Downsides of having Slavic language but Latin script instead of Cyrillic... You're more likely to want to spam your code with your native language (because you're Slavic) and less likely to be ashamed of it because you can do it without transliteration from Cyrillic script.
Surely, Russian schoolboys never name their variables
mas
andkolvo
.Do you see any Russian nutella naming their variables like that?
Well 75099796
We in Russia call incorrect submission a log (log for timber, not log for logarithm) (spells "бревно"). I actually don't know why, but have some guesses
Log like "Do you want to see exponential growth of my natural log?" ?
Thanks but no thanks
"kontrprzykład" to "kontrprzykład" ochrzczony (baptized)
We (in Serbian) use the same word for string and thread in common language- nit, so in cs textbooks term used for string is "niska". Interesting thing is, I've never heard of anyone using that word for string or for anything else (excluding homonyms) outside textbooks.
What language?
Serbian, forgot to write it
Some from Vietnamese:
haha trâu
One interesting thing about Croatian CP terms is that we call segment tree „tournament“. It's not even a Croatian word, so when I first heard it, I thought we just took it from English and that everybody calls it that way, but it seems that we're the only ones. :)
That kinda makes sense cause it resembles playoff brackets, but it is unfortunate that word "tournament" in math is actually already reserved for round-robin tournaments with arbitrary outcomes :p (everybody plays with everybody)
There is also a term called
tournament tree
which is used to denote knockout tournaments (where in every match the team which loses gets knocked out of the competition). This tree is essentially like a binary heap.Also "logaritamska" for Fenwick tree, and "konstantna" for sparse table.
Why exactly those data structures are named after their query complexity classes is beyond me.
Hey, I'm Russian.
Other words don't differ much in pronunciation, since they coincide with their English counterparts.
Much more interesting is the Russian slang in CP, as we have some words that don't have exact English translations.
When you write a solution to some problem and don't have any proof for its correctness, it's called "кукарек" ("kukarek" — the sound made by a rooster). More often than not, it's used when literally no one knows how to prove such a solution.
When a problem leaves much to be desired (e.g. is too implementation-heavy), but the environment is more-or-less official, we say "глина" (pronounced like gl[i]na — "clay") instead of "sh*t".
Example of use: Эта задача какая-то глина, я третий час пытаюсь загнать свой кукарек и получаю WA53. (Eta zadacha kakaya-to glina, ya tretiy chas pitayus' zagnat' svoy kukarek i poluchayu WA53) — This task is not a good one, I've been sending my unproven solution for 3 hours straight but keep getting WA on test 53.
Thanks! Your examples of Russian slang are especially interesting!
As a
wisecranky old man I want to mention that kukarek is widely used in students competitions also, while glina (as I can understand) appeared 2-3 years ago in some camp for schoolboys and used almost exclusively by people not older than 20. I, personally, do not understand why it is popular.How about such term of russian slang as kostyl'?
In spanish, at least most of cuban people I know:
code: código
array: arreglo
Java: just as in English
C++: just as in English
graph: grafo
tree: árbol (same name as the plant with leaves and a wood trunk)
node/vertex: nodo/vértice
edge: arista
Dynamic Programming: Programación Dinámica
DFS/BFS: DFS/BFS
integer: entero
long: just as in english
variable: variable(it has a different pronunciation)
test case: caso de prueba
sample case: caso de ejemplo
queue: cola
stack: pila
for/while loop: ciclo for/while
if statement: sentencia if
Algorithm: algoritmo
Data Structure: estructura de datos
Segment Tree: it translates to "árbol de segmentos", but we we use the English name
Contest: competencia, but some of us use the English word
Input/Output: entrada/salida
Binary: binario
Hexadecimal: Hexadecimal
Memory: Memoria
Time Limit Exceeded: Tiempo límite excedido
Wrong Answer: respuesta incorrecta. But usually we says it as in English
String: just as in english
True/False: verdadero/falso
In India it's the same as English terms,although you can find translations of the terms in regional languages, what is used is English terms only.
Hindi and English are India's official languages, and India doesn't have a national language.
My mistake..my point was I haven't seen any other language terms being used instead of the english ones in India.
Well we have something in India.
We call "convolutional recursive sequence generation using divide and conquer" (an elaborate name by tfg) as "online FFT".
Its a bit popular name for this trick because it first appeared here and he called it online FFT https://tanujkhattar.wordpress.com/2018/01/03/online-fft/
Thats the only CP related relevant article on google when you search "Online FFT".
Nobody outside India use term "Online FFT".
I am not sure why, but name "online FFT" is familiar to me and I surely used it already (does it mean I am Indian at heart?)
Yes. If you consider yourself an Indian at heart then you are Indian at heart. We welcome people with open arms. So I wont deny it.
I used that term quite a few times in discord server. I didnt found anyone there familiar with this term. Notabaly tfg, adamant and pajenegod conceptually knew what it is but "online FFT" was the term they heard for the first time.
We Egyptians almost always use English terms, so I'll just share their Arabic translation:
Keep in mind that Arabic goes from right to left!
code: كود, same pronunciation
array: مصفوفة mus-fofa
Java: same
C++: same
graph: رسم rasm, also means a drawing
tree: شجرة Shajara
node/vertex: نقطة noq-ta || عقدة Ook-da, first means dot and second means knot
edge: وصلة wasla
Dynamic Programming: same
DFS/BFS: same but we have a similar word دفس dafs which means burying or hiding something between other stuff, usually in a cramped place
integer: رقم raqm
long: رقم كبير raqm kabeer, literally big number
variable: متغير motaghay-yer
test case: اختبار ekh-tebar
sample case: مثال me-thal
queue: طابور taboor
stack: كومة Koma, it doesn't indicate an order
for/while loop: same
if statement: جملة شرطية jomla shar-tia
Algorithm: خوارزمية Khawarzmia
Data Structure: هيكل بيانات Hai-kal Bayanat
Segment Tree: same
Contest: مسابقة mosabaqa
Input/Output: دخل/خرج Dakhl/Kharg
Binary: ثنائي Thona-ey
Hexadecimal: سداسي عشر Sodasi Ashr
Memory: ذاكرة Zakera
Time Limit Exceeded: تجاوز الوقت, Tajawaz Al-Whaqt
Wrong Answer: اجابة خاطئة, Egaba Khatea'a
String: نص, nus, it's written the same way as the word for
half
in Egypt but different pronunciation: nosTrue/False: صح/خطأ Sah/Khata'
https://twitter.com/Jinotega3000
In Indonesia, usually, only the English terms are used.
I can relate to the 1st slang
Nyampah is the way
In Vietnamese we can express almost but for some key word, we still use English for short or just prefer it.
Code: Mã
Array: Mảng
Java: Java
C++: C++
Graph: Đồ thị
Tree: Cây
Node/Vertex: Node/Đỉnh
Edge: Cạnh
Dynamic Programming: Quy hoạch động
DFS/BFS: Tìm kiếm chiều sâu/tìm kiếm chiều rộng or just dfs/bfs
Integer: Số nguyên
Long: Số nguyên (basicly Integer and Long is integer so we just call it Số Nguyên and implicitly understand their bound !!!)
Variable: Biến
Test case: Test (just test !!) or trường hợp
Sample case: Test mẫu
Queue: Hàng đợi
Stack: Ngăn xếp
For/While loop: vòng lặp For/vòng lặp While or just For/While
If statement: câu lệnh điều kiện or just If
Sorting: Sắp xếp
Binary Search: Tìm kiếm nhị phân
Algorithm: Giải thuật
Data Structure: Cấu trúc dữ liệu
Segment Tree: Cây phân đoạn or just segment tree
Recursion: Đệ quy
Contest: contest or cuộc thi
Input/Output: Đầu vào/Đầu ra
Binary: Nhị phân
Hexadecimal: Thập lục phân
Memory: Bộ nhớ
Time Limit Exceeded: We just call it "Bị time" or vượt quá thời gian!!!
Wrong Answer: Sai kết quả
String: Chuỗi or Xâu
True/False: Đúng/Sai
Chinese here!
Those without lit. following are straight translations
code 代码 lit.substitude for machine-readable stuff
array 数组 lit.number group
graph 图 lit.picture
tree 树 lit. a plant with trunks and leaves
node/vertex 点 lit.point
edge 边 lit.sides
Dynamic Programming 动态规划 lit.dynamic planning
DFS/BFS 深/广度优先搜索
integer 整数 lit.whole number
long 长整 lit.long whole number
variable 变量 lit.mutable value
test case 测试点 lit.testing point
sample case 样例数据
queue 队列
stack 栈 lit.a place you put horses in (???)
for/while loop for/while 循环
if statement if 语句
Algorithm 算法 lit.The way you calculate
Data Structure 数据结构 lit.The way you store data
Segment Tree 线段树
Contest 比赛
Input/Output 输入/输出
Binary 二进制 lit.using a new digit after reaching 2
Hexadecimal 十六进制
Memory 内存 lit.internal storage
Time Limit Exceeded 超时
Wrong Answer 答案错误
String 字符串 lit.a sequence of characters
True/False 真/假
Slangs
骗分 lit.cheat score: Use incorrect or slow algorithms to try to get score
卡常 lit.??? : Try to lower the constant value of time complexity in order to just fit in the time constraints.
谢谢 ! I actually speak Chinese but I didn't know any of these because I never talk about CP in Chinese, so these were super interesting. Thanks for the literal translations!
What's the correspond translation in English of 莫队算法?
Mo's Algorithm maybe?
Yes it is. I may heard this before.
Which languages translate "eertree"?
Russian :) (well, it's fair since it was invented by a Russian).
We call it "овердрево" (overdr[e]vo), literally "over-tree", albeit with an old-fashioned spelling of "дерево" (d[e]revo), and this word is also a palindrome!
My friends use a neutral "дерево палиндромов" (palindrome tree). Овердрево sounds cool and epic, but a little bit weird for me to use it in my speech
code = kód
array = tömb
Java = Java
C++ = C++
graph = gráf
tree = fa
node/vertex = elem/csúcs
edge = él
Dynamic Programming = Dinamikus programozás
DFS/BFS = DFS/BFS
integer = egész
long = long
variable = változó
test case = teszteset
sample case = példa
queue = sor
stack = stack
for/while loop = for/while
if statement = if/elágazás
Algorithm = algoritmus
Data Structure = adatszerkezet
Segment Tree = szegmens fa
Contest = verseny
Input/Output = input/output
Binary = bináris
Hexadecimal = hexadecimális
Memory = memória
Time Limit Exceeded = időkeret túllépés
Wrong Answer = hibás válasz
String = string
True/False = igaz/hamis
Hi there, I'm French :)
Data Structure : Structure de Données
When making a recurence, we express stop case by "cas d'arrêt"
Thanks!! I was actually hoping to get a response for French!
In Romanian:
If it's interesting in Armenian there are few terms that have the same pronunciation:
There are more differences:
In Croatian:
code — kod
array — niz
graph — graf
tree — stablo
node/vertex — čvor/vrh
edge — brid
DFS — dubinsko pretraživanje (not really used)
Dynamic Programming — dinamičko programiranje
variable — varijabla
test case — službeni primjer
sample case — primjer iz zadatka
queue — red (not really used)
stack — stog (not really used)
for/while loop — for/while ciklus
treap — strpa (STAblo + hrPA) — (not popular yet!!)
segement tree — tournament / turnirsko stablo (really weird but used)
fenwick tree — logaritamska (literally means logarithmic)
palindromic/eer tree — olbat stablo
I know that Chinese has already been taken, but since I'm from Taiwan and the others seem to be from China, we use a slightly different terminology (and typography), so I'll give our words from across the strait:
code — 程式碼/扣(transliteration of English, "code")
array — 陣列
graph — 圖
tree — 樹
node/vertex — 點/節點
edge — 邊
Dynamic Programming — 動態規劃/DP
DFS/BFS — DFS/BFS are commonly used, but 深度優先搜尋/廣度優先搜尋 are their formal Chinese names
integer — 整數
long — 長
variable — 變數
test case — 測資
sample case — 範例測資 or 範測for short
queue — 佇列
stack — 堆積
for/while loop — for/while 迴圈
if statement — 若判斷式(but we just say 'if', the Chinese is rather a mouthful!)
Algorithm — 演算法
Data Structure — 資料結構
Segment Tree — 線段樹
Contest — 比賽/競賽
Input/Output — 輸入/輸出
Binary — 二進位
Hexadecimal — 十六進位
Memory — 記憶體
Time Limit Exceeded — TLE/超過時限
Wrong Answer — WA/答案錯誤
String — 字串
True/False — 真/偽 or 真/假
Sorting Algorithm — 排序演算法
And some slang that I find rather funny:
電神(Lit. Electric God): Used to refer to someone really good at CP (= orz)
毒瘤(Lit. Tumor) Really, really advanced techniques or using something really advanced to solve a problem that is not needed (ex. LCT for a simple tree DP)
裝弱(Lit. Pretending to be weak)Saying that you're horrible at CP, programming, etc. when you're a 電神
Thanks for sharing! It's cool to see the differences between this and mainland Chinese and different slang!
lamerare (referred to a problem) = getting points on the problem with a solution that should be too slow