CSES - Pitkä reitti

Robotti liikkuu kuten viikon aiemmassa tehtävässä, mutta toistaa samaa liikesarjaa k kertaa peräkkäin. Monessako eri ruudussa robotti käy yhteensä?

Voit olettaa, että liikesarjassa on enintään 100 komentoa ja k on välillä 1 \dots 10^9.

Python

Toteuta tiedostoon longroute.py funktio count, joka ilmoittaa eri ruutujen määrän, kun sille annetaan robotin liikesarja ja toistojen määrä.

def count(s,k):
    # TODO

if __name__ == "__main__":
    print(count("UR", 100)) # 201
    print(count("UD", 100)) # 2
    print(count("UURRDDL", 500)) # 1506
    print(count("L", 10**9)) # 1000000001
    print(count("DLUR", 10**9)) # 4

Java

Toteuta tiedostoon LongRoute.java metodi count, joka ilmoittaa eri ruutujen määrän, kun sille annetaan robotin liikesarja ja toistojen määrä.

public class LongRoute {
    public long count(String s, int k) {
        // TODO
    }
    
    public static void main(String[] args) {
        LongRoute l = new LongRoute();
        System.out.println(l.count("UR", 100)); // 201
        System.out.println(l.count("UD", 100)); // 2
        System.out.println(l.count("UURRDDL", 500)); // 1506
        System.out.println(l.count("L", 1000000000)); // 1000000001
        System.out.println(l.count("DLUR", 1000000000)); // 4
    }
}