• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:19
CEST 18:19
KST 01:19
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun11[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists22[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
2026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Team Liquid Map Contest #22 - The Finalists Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool MaNa leaves Team Liquid Maestros of the Game 2 announced
Tourneys
GSL Code S Season 1 (2026) SC2 INu's Battles#15 <BO.9 2Matches> WardiTV Spring Cup RSL Revival: Season 5 - Qualifiers and Main Event SEL Masters #6 - Solar vs Classic (SC: Evo)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
Data needed Pros React To: Leta vs Tulbo (ASL S21, Ro.8) ASL21 General Discussion [TOOL] Starcraft Chat Translator JaeDong's ASL S21 Ro16 Post-Review
Tourneys
Escore Tournament StarCraft Season 2 [Megathread] Daily Proleagues [ASL21] Ro8 Day 2 [ASL21] Ro8 Day 1
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Daigo vs Menard Best of 10 Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1966 users

The Big Programming Thread - Page 787

Forum Index > General Forum
Post a Reply
Prev 1 785 786 787 788 789 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 25 2016 15:07 GMT
#15721
On October 25 2016 23:44 Manit0u wrote:
Show nested quote +
On October 25 2016 23:40 Hhanh00 wrote:
On October 25 2016 23:26 Manit0u wrote:
On October 25 2016 22:59 Acrofales wrote:
Lol. Travis, were you expecting this? :D


Hehe. I guess that no one could've predicted that

Also, I've learned today that JVM has full support for dynamic typing, TCO and other funky shit - just not for Java


JVM has no support for TCO. In Scala, TRE is done by the compiler but does not cover mutual recursion. That's why there are trampolines in scalaz.


But from what I've read most of the recursion in scala is translated into loops anyway.

Only a subset of all recursive functions can be translated into loops. If Scala is good at this translation, it will convert a large portion of that subset, but sometimes it's straight up impossible.
If you have a good reason to disagree with the above, please tell me. Thank you.
Hhanh00
Profile Joined May 2016
34 Posts
October 25 2016 15:12 GMT
#15722
You need to annotate your function as @tailrec and the compiler will do TRE if possible. If not, it produces a compilation error. Essentially, TRE turns the recursion into a loop (i.e. a goto).
Manit0u
Profile Blog Joined August 2004
Poland17740 Posts
Last Edited: 2016-10-25 15:43:35
October 25 2016 15:22 GMT
#15723
On October 25 2016 23:27 travis wrote:
lol no this is great, love the participation.

I'll post the "hard" exercise that was included since you guys seem to enjoy this. I haven't tried it yet, I might this weekend but now I have to study for my calc 2 exam until friday.


Hard exercise:

Your method parameter is an array of ints. The method is a boolean. The goal is to look at the ints and see if you could possibly return 2 arrays from it, both having the same "total" within it.

For example if you were passed {2, 2} it would be true. {2, 3, 2, 3} would be true. {2, 3} would be false. {5, 2, 3} would be true. {5, 2, 4} would be false. {2, 6, 2, 2} would be true. Etc. Have fun!


Oh and it's supposed to use recursion, so no loops. You can make a recursive helper method, though.


You mean something like that?


public static void main (String[] args) {
import java.util.Arrays;

int[] testArr = {5, 2, 3};
int[] testArr2 = {5, 1, 4};
int[] testArr3 = {5, 1, 2};
String t1 = Arrays.toString(testArr);
String t2 = Arrays.toString(testArr2);
String t3 = Arrays.toString(testArr3);

System.out.println("Can"
+ (canSplit(testArr, new int[testArr.length], 0) ? " " : "'t ")
+ "split "
+ t1
);
System.out.println("Can"
+ (canSplit(testArr2, new int[testArr2.length], 0) ? " " : "'t ")
+ "split "
+ t2
);
System.out.println("Can"
+ (canSplit(testArr3, new int[testArr3.length], 0) ? " " : "'t ")
+ "split "
+ t3
);
}

public static int arraySum(int[] arr, int idx, int sum) {
if (idx == arr.length) {
return sum;
}

return arraySum(arr, idx + 1, sum + arr[idx]);
}

public static Boolean arrayCompare(int[] a, int[] b) {
return arraySum(a, 0, 0) == arraySum(b, 0, 0);
}

public static Boolean canSplit(int[] a, int[] b, int idx) {
if (idx == 0 && arraySum(a, 0, 0) % 2 != 0) {
return false;
}

if (idx == a.length) {
return false;
}

if (arrayCompare(a, b)) {
return true;
}

b[idx] = a[idx];
a[idx] = 0;

return canSplit(a, b, idx + 1);
}


Sorry if the code is a bit crap. I've had to google how to write HelloWorld in Java today

Edit: I guess that my solution is wrong, but I don't have any more heart to deal with Java bullshit today
I know you have to add highest and lowest and compare them with the rest etc. but I've no brain left for that.
Time is precious. Waste it wisely.
Acrofales
Profile Joined August 2010
Spain18283 Posts
October 25 2016 15:35 GMT
#15724
On October 26 2016 00:22 Manit0u wrote:
Show nested quote +
On October 25 2016 23:27 travis wrote:
lol no this is great, love the participation.

I'll post the "hard" exercise that was included since you guys seem to enjoy this. I haven't tried it yet, I might this weekend but now I have to study for my calc 2 exam until friday.


Hard exercise:

Your method parameter is an array of ints. The method is a boolean. The goal is to look at the ints and see if you could possibly return 2 arrays from it, both having the same "total" within it.

For example if you were passed {2, 2} it would be true. {2, 3, 2, 3} would be true. {2, 3} would be false. {5, 2, 3} would be true. {5, 2, 4} would be false. {2, 6, 2, 2} would be true. Etc. Have fun!


Oh and it's supposed to use recursion, so no loops. You can make a recursive helper method, though.


You mean something like that?


public static void main (String[] args) {
import java.util.Arrays;

int[] testArr = {5, 2, 3};
int[] testArr2 = {5, 1, 4};
int[] testArr3 = {5, 1, 2};
String t1 = Arrays.toString(testArr);
String t2 = Arrays.toString(testArr2);
String t3 = Arrays.toString(testArr3);

System.out.println("Can"
+ (canSplit(testArr, new int[testArr.length], 0) ? " " : "'t ")
+ "split "
+ t1
);
System.out.println("Can"
+ (canSplit(testArr2, new int[testArr2.length], 0) ? " " : "'t ")
+ "split "
+ t2
);
System.out.println("Can"
+ (canSplit(testArr3, new int[testArr3.length], 0) ? " " : "'t ")
+ "split "
+ t3
);

}

public static int arraySum(int[] arr, int idx, int sum) {
if (idx == arr.length) {
return sum;
}

return arraySum(arr, idx + 1, sum + arr[idx]);
}

public static Boolean arrayCompare(int[] a, int[] b) {
return arraySum(a, 0, 0) == arraySum(b, 0, 0);
}

public static Boolean canSplit(int[] a, int[] b, int idx) {
if (idx == a.length) {
return false;
}

if (arrayCompare(a, b)) {
return true;
}

b[idx] = a[idx];
a[idx] = 0;

return canSplit(a, b, idx + 1);
}


Sorry if the code is a bit crap. I've had to google how to write HelloWorld in Java today

Don't think this works. It wouldn't work on his test array [2, 6, 2, 2], which is supposed to return true. Simply splitting the array was my first thought too, but you have to go through all permutations.

Anyway, the first thing I'd do is simply sum the initial array. If it's odd, it's impossible. After that, some type of dynamic programming is needed. It's been a while since I had to do assignments like this, but I will play with it. It's pretty easy to find a terrible solution, but my gut says it should be easy to find one in O(n^2) or so.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-10-25 15:52:45
October 25 2016 15:40 GMT
#15725
--- Nuked ---
Acrofales
Profile Joined August 2010
Spain18283 Posts
October 25 2016 15:51 GMT
#15726
Yeah, but that is the trivial solution in O(2^n) time, or am I missing something?
raNazUra
Profile Joined December 2012
United States10 Posts
Last Edited: 2016-10-25 15:56:04
October 25 2016 15:54 GMT
#15727
On October 25 2016 23:27 travis wrote:
lol no this is great, love the participation.

I'll post the "hard" exercise that was included since you guys seem to enjoy this. I haven't tried it yet, I might this weekend but now I have to study for my calc 2 exam until friday.


Hard exercise:

Your method parameter is an array of ints. The method is a boolean. The goal is to look at the ints and see if you could possibly return 2 arrays from it, both having the same "total" within it.

For example if you were passed {2, 2} it would be true. {2, 3, 2, 3} would be true. {2, 3} would be false. {5, 2, 3} would be true. {5, 2, 4} would be false. {2, 6, 2, 2} would be true. Etc. Have fun!


Oh and it's supposed to use recursion, so no loops. You can make a recursive helper method, though.


Wooo exponential time! Also I'm stealing arraySum from Manitou since I don't want to write it:


public static bool subsetMatch(int[] arr) {
if (arr.length < 2) {
return false;
}
ArrayList<int> subset1 = new ArrayList<int>();
ArrayList<int> subset2 = new ArrayList<int>();
return subsetMatchHelper(arr, 0, subset1, subset2);
}

public static bool subsetMatchHelper(int[] arr, index, ArrayList<int> subset1, ArrayList<int> subset2) {
if (arr.length == index) {
return arraySum(subset1, 0, 0) == arraySum(subset2, 0, 0);
}
else {
return (subsetMatchHelper(arr, index + 1, subset1.add(arr[index]), subset2) ||
subsetMatchHelper(arr, index + 1, subset1, subset2.add(arr[index]));
}
}


I'm pretty confident that this is actually incorrect, since my subsets' .add calls will be modifying themselves, which will muck up the other call. But this is the logic that you want.

On another note, the problem as stated is actually ambiguous, we just make an assumption about it. It isn't clear whether or not the two subsets must union to the whole set, or if you can ignore numbers.

EDIT: Acrofales, I'm pretty sure that if you're using recursion, the only solution is the 2^n solution. I haven't thought about whether you can use DP to make this polynomial, though it is suspiciously similar to the NP-hard subset sum problem, so I'm not 100% sure you can.
Speak the truth, even if your voice shakes
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2016-10-25 16:16:24
October 25 2016 16:12 GMT
#15728
On October 26 2016 00:40 Nesserev wrote:
This is quite trivial in Haskell via backtracking.
+ Show Spoiler [old solution] +
f :: [Int] -> Bool
f [] = True -- is this the intended behavior?
f xs = f_internal xs [] []

f_internal :: [Int] -> [Int] -> [Int] -> Bool
f_internal [] ys zs = sum ys == sum zs
f_internal (x:xs) ys zs = f_internal xs (x:ys) zs || f_internal xs ys (x:zs)


+ Show Spoiler [unit tests] +


import Test.HUnit


testFinternal = TestCase (do
-- base case
assertBool "" (f_internal [] [] []
assertBool "" (f_internal [] [4] [2,2]
assertBool "" (not $ f_internal [] [1] []
assertBool "" (not $ f_internal [] [2,7] [3,2,1]
-- success
assertBool "" (f_internal [1] [3] [4]
assertBool "" (f_internal [1] [4] [3]
-- fail
assertBool "" (not $ f_internal [1] [] []
assertBool "" (not $ f_internal [2] [5,3] [8,1]
)

testF = TestCase (do
assertBool "example1" (f [2,2]
assertBool "example2" (f [2,3,2,3]
assertBool "example3" (not $ f [2,3]
assertBool "example4" (f [5,2,3]
assertBool "example5" (not $ f [5,2,4]
assertBool "example6" (f [2,6,2,2]
)


------------------------------------------------------------------------------

tests = TestList [
TestLabel "testFinternal" testFinternal,
TestLabel "testF" testF
]

------------------------------------------------------------------------------

main :: IO Counts
main = runTestTT $ tests




EDIT: Better solution:
f :: [Int] -> Bool
f xs = f_internal xs 0 0

f_internal :: [Int] -> Int -> Int -> Bool
f_internal [] y z = y == z
f_internal (x:xs) y z = f_internal xs (x+y) z || f_internal xs y (x+z)

It's not hard to translate that into Java. Nothing really changes, you just add a bit of syntax overhead.

The second version is a lot better since it should reduce the runtime complexity by a factor of n (runtime complexity for recursion is hard on my brain). Might not matter too much in the presence of exponential complexity though.

For me this also seems awfully similar to the knapsack problem, which is NP-complete.
If you have a good reason to disagree with the above, please tell me. Thank you.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2016-10-25 16:17:05
October 25 2016 16:16 GMT
#15729
Can we have a warning that pops up when I accidentally quote instead of edit the last post in the thread?
If you have a good reason to disagree with the above, please tell me. Thank you.
Mr. Wiggles
Profile Blog Joined August 2010
Canada5894 Posts
October 25 2016 18:28 GMT
#15730
You guys are looking for:

https://en.m.wikipedia.org/wiki/Partition_problem
you gotta dance
raNazUra
Profile Joined December 2012
United States10 Posts
October 25 2016 18:37 GMT
#15731
On October 26 2016 03:28 Mr. Wiggles wrote:
You guys are looking for:

https://en.m.wikipedia.org/wiki/Partition_problem


Ah, that was it! I knew I had seen this problem before.
Speak the truth, even if your voice shakes
Acrofales
Profile Joined August 2010
Spain18283 Posts
October 25 2016 19:23 GMT
#15732
On October 26 2016 03:28 Mr. Wiggles wrote:
You guys are looking for:

https://en.m.wikipedia.org/wiki/Partition_problem

Aha! And now the real fun starts. I didn't spend enough time thinking about it, but Wikipedia says there is a DP solution in pseudo-polynomial time (my knowledge of complexity theory doesn't reach far enough to know what that means, but I'll assume it's something like polynomial for most cases, but there are corner cases where it fails?)

Anyway. More interesting than finding the obvious solution, let's find the DP solution without peeking at the reset if the Wikipedia article or the rest of the internet!
Prillan
Profile Joined August 2011
Sweden350 Posts
October 25 2016 19:34 GMT
#15733
On October 26 2016 00:40 Nesserev wrote:
This is quite trivial in Haskell via backtracking.
+ Show Spoiler [old solution] +
f :: [Int] -> Bool
f [] = True -- is this the intended behavior?
f xs = f_internal xs [] []

f_internal :: [Int] -> [Int] -> [Int] -> Bool
f_internal [] ys zs = sum ys == sum zs
f_internal (x:xs) ys zs = f_internal xs (x:ys) zs || f_internal xs ys (x:zs)


+ Show Spoiler [unit tests] +


import Test.HUnit


testFinternal = TestCase (do
-- base case
assertBool "" (f_internal [] [] []
assertBool "" (f_internal [] [4] [2,2]
assertBool "" (not $ f_internal [] [1] []
assertBool "" (not $ f_internal [] [2,7] [3,2,1]
-- success
assertBool "" (f_internal [1] [3] [4]
assertBool "" (f_internal [1] [4] [3]
-- fail
assertBool "" (not $ f_internal [1] [] []
assertBool "" (not $ f_internal [2] [5,3] [8,1]
)

testF = TestCase (do
assertBool "example1" (f [2,2]
assertBool "example2" (f [2,3,2,3]
assertBool "example3" (not $ f [2,3]
assertBool "example4" (f [5,2,3]
assertBool "example5" (not $ f [5,2,4]
assertBool "example6" (f [2,6,2,2]
)


------------------------------------------------------------------------------

tests = TestList [
TestLabel "testFinternal" testFinternal,
TestLabel "testF" testF
]

------------------------------------------------------------------------------

main :: IO Counts
main = runTestTT $ tests




EDIT: Better solution:
f :: [Int] -> Bool
f xs = f_internal xs 0 0

f_internal :: [Int] -> Int -> Int -> Bool
f_internal [] y z = y == z
f_internal (x:xs) y z = f_internal xs (x+y) z || f_internal xs y (x+z)

Thought I'd just add a Haskell solution to the previous problem since Nesserev already solved the above one so nicely.

star :: String -> String
star "" = ""
star (x:"") = (x:"")
star (x:y:rest)
| x == y = x:'*':star (y:rest)
| otherwise = x:star (y:rest)
TheBB's sidekick, aligulac.com | "Reality is frequently inaccurate." - Douglas Adams
Mr. Wiggles
Profile Blog Joined August 2010
Canada5894 Posts
October 25 2016 20:19 GMT
#15734
On October 26 2016 04:23 Acrofales wrote:
Show nested quote +
On October 26 2016 03:28 Mr. Wiggles wrote:
You guys are looking for:

https://en.m.wikipedia.org/wiki/Partition_problem

Aha! And now the real fun starts. I didn't spend enough time thinking about it, but Wikipedia says there is a DP solution in pseudo-polynomial time (my knowledge of complexity theory doesn't reach far enough to know what that means, but I'll assume it's something like polynomial for most cases, but there are corner cases where it fails?)

Anyway. More interesting than finding the obvious solution, let's find the DP solution without peeking at the reset if the Wikipedia article or the rest of the internet!

Pseudo-polynomial is more that the algorithm appears to have polynomial running time based on the numeric value of the input, but actually has exponential running time based on the size of the input (i.e. how many bits it's represented by, though the particular base doesn't matter).

For example, consider primality testing by trial division for a number n. To check if n is prime, you will attempt to divide it by everything in the range [2, sqrt(n)]. In the numeric value of n, this looks polynomial, because we're doing sqrt(n) divisions, but in the actual input size, the number of bits to represent n, the amount of work is exponential.

I'm on my phone, so I can't get too detailed, but I hope this helps explain.
you gotta dance
raNazUra
Profile Joined December 2012
United States10 Posts
October 25 2016 21:21 GMT
#15735
On October 26 2016 05:19 Mr. Wiggles wrote:
Show nested quote +
On October 26 2016 04:23 Acrofales wrote:
On October 26 2016 03:28 Mr. Wiggles wrote:
You guys are looking for:

https://en.m.wikipedia.org/wiki/Partition_problem

Aha! And now the real fun starts. I didn't spend enough time thinking about it, but Wikipedia says there is a DP solution in pseudo-polynomial time (my knowledge of complexity theory doesn't reach far enough to know what that means, but I'll assume it's something like polynomial for most cases, but there are corner cases where it fails?)

Anyway. More interesting than finding the obvious solution, let's find the DP solution without peeking at the reset if the Wikipedia article or the rest of the internet!

Pseudo-polynomial is more that the algorithm appears to have polynomial running time based on the numeric value of the input, but actually has exponential running time based on the size of the input (i.e. how many bits it's represented by, though the particular base doesn't matter).

For example, consider primality testing by trial division for a number n. To check if n is prime, you will attempt to divide it by everything in the range [2, sqrt(n)]. In the numeric value of n, this looks polynomial, because we're doing sqrt(n) divisions, but in the actual input size, the number of bits to represent n, the amount of work is exponential.

I'm on my phone, so I can't get too detailed, but I hope this helps explain.


As an additional note to the prime-checking pseudopolynomial example, consider what happens when you multiply a given input by 4. Your algorithm now needs to do twice as many checks, but the size of the input has only gone up by two bits (assuming base 2). When the work of the algorithm grows multiplicatively for a constant addition of input size, that's exponential.

If that doesn't help, ignore it, it just helps me to understand why pseudopolynomial solutions look like they're polynomial but are actually exponential. If it depends on the value of a variable itself, and not the number of values, then you're likely in trouble (without a log to cancel it out).
Speak the truth, even if your voice shakes
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
October 27 2016 13:04 GMT
#15736
Fuck Oracle Spatial
"windows bash is a steaming heap of shit" tofucake
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
October 27 2016 17:44 GMT
#15737
--- Nuked ---
bangsholt
Profile Joined June 2011
Denmark138 Posts
October 28 2016 16:41 GMT
#15738
On October 28 2016 02:44 Nesserev wrote:
Show nested quote +
On October 27 2016 22:04 Djagulingu wrote:
Fuck Oracle

ftfy, efficiency matters


premature optimization is the root of all evil. :D
centirius
Profile Joined April 2010
Sweden40 Posts
October 28 2016 21:47 GMT
#15739
C# solution (so probably works in Java with minimal changes I suppose) also O(n^2) obv


bool HasTwoSubArraysWithSameTotal(int[] values){
return HasTwoSubArraysWithSameTotal(values, 0, 0, 0);
}

bool HasTwoSubArraysWithSameTotal(int[] values, int sumA, int sumB, int index){
return values.Length == index ? sumA == sumB :
HasTwoSubArraysWithSameTotal(values, sumA + values[index], sumB, index + 1) ||
HasTwoSubArraysWithSameTotal(values, sumA, sumB + values[index], index + 1);
}

Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-10-29 00:39:12
October 29 2016 00:25 GMT
#15740
Anyone around good at java that can help me for a little bit? (maybe half hour or hour or something?)


edit: nevermind I finally got everything working. wow what a pain lol
Prev 1 785 786 787 788 789 1032 Next
Please log in or register to reply.
Live Events Refresh
Big Brain Bouts
16:00
#114
TriGGeR vs Percival
RotterdaM775
Liquipedia
OSC
13:00
King of the Hill #246
WardiTV678
TKL 261
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 775
TKL 261
MindelVK 24
JuggernautJason24
ProTech23
UpATreeSC 21
StarCraft: Brood War
Britney 35576
Calm 5046
Sea 2347
Mini 773
Shuttle 557
firebathero 441
EffOrt 363
BeSt 264
Leta 236
ggaemo 233
[ Show more ]
Hyuk 187
Hyun 108
Dewaltoss 96
Sharp 91
ToSsGirL 51
Sea.KH 45
Hm[arnc] 44
Barracks 32
Free 30
Rock 25
yabsab 22
scan(afreeca) 20
Terrorterran 16
910 16
GoRush 14
Shine 14
IntoTheRainbow 12
SilentControl 12
Sacsri 9
JulyZerg 7
Dota 2
Gorgc5540
qojqva1951
monkeys_forever326
syndereN263
Other Games
Grubby4253
singsing2184
FrodaN913
B2W.Neo857
hiko761
Hui .172
crisheroes171
ArmadaUGS88
QueenE74
ViBE71
Trikslyr44
KnowMe29
Organizations
Dota 2
PGL Dota 2 - Main Stream60
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• Adnapsc2 14
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Michael_bg 4
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis3911
Other Games
• WagamamaTV301
• Shiphtur211
Upcoming Events
Replay Cast
7h 41m
Replay Cast
16h 41m
RSL Revival
17h 41m
Classic vs GgMaChine
Rogue vs Maru
WardiTV Invitational
18h 41m
Percival vs Shameless
ByuN vs YoungYakov
IPSL
23h 41m
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
1d 2h
Replay Cast
1d 7h
RSL Revival
1d 17h
herO vs TriGGeR
NightMare vs Solar
uThermal 2v2 Circuit
1d 21h
BSL
2 days
[ Show More ]
IPSL
2 days
eOnzErG vs TBD
G5 vs Nesh
Patches Events
2 days
Replay Cast
2 days
Wardi Open
2 days
Afreeca Starleague
2 days
Jaedong vs Light
Monday Night Weeklies
2 days
Replay Cast
3 days
Sparkling Tuna Cup
3 days
Afreeca Starleague
3 days
Snow vs Flash
WardiTV Invitational
3 days
GSL
4 days
Classic vs Cure
Maru vs Rogue
GSL
5 days
SHIN vs Zoun
ByuN vs herO
Replay Cast
6 days
Escore
6 days
The PondCast
6 days
WardiTV Invitational
6 days
Liquipedia Results

Completed

Proleague 2026-04-30
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Escore Tournament S2: W5
KK 2v2 League Season 1
SCTL 2026 Spring
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.