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
}
}
