На топкодере регулярно проходит shortest code competition по задачам срмов (обычно простым). Иногда довольно интересно посмотреть, как можно сжать код, казалось бы простой задачи, до совершенно непонятного, но в то же время работающего. Предлагаю проводить такие соревнования и здесь, на Codeforces.
Я начну с задачи C из Codeforces Beta Round #24. Правила простые: каждый следующий код должен быть короче предыдущего. Побеждает тот, кого никто не смог перебить. Длина кода - количество символов в нем, не считая пустых (пробелов, табов, переводов строки и т.д.). Само собой, код должен быть АС хотя бы на одном из доступных компиляторов. Насколько я знаю, на топкодере дефайны в С++ не используют в таких соревнованиях, поэтому предлагаю и здесь их не использовать.
Учитывая возможности некоторых языков, предлагаю проводить отдельный зачет по разным языкам, т.к. вряд ли C++ или Pascal смогут соревноваться с Haskell или Python.
214:
#include <iostream>
__int64 n,k,x,y,a[' '],b[' '],d;
int main()
{
std::cin>>n>>k>>x>>y;
for(k%=2*n;d<n;d++) std::cin>>a[d]>>b[d],d<k?x=2*a[d]-x,y=2*b[d]-y:0;
for (d=0,k-=n;k>0;--k,++d) x=2*a[d]-x,y=2*b[d]-y;
std::cout<<x<<" "<<y;
}




Snippet
156
#include <iostream>
main() {
__int64 n,k,a[' '],d;
for(std::cin>>n>>k>>*a>>a[1],n*=2;d<k%n*2;) std::cin>>a[2+d],a[d%2]=2*a[2+d%n]-a[d++%2];
std::cout<<*a<<" "<<a[1];
}
О, есть еще чит с import оказывается
155
#import <iostream>
main() {
__int64 n,k,a[' '],d;
for(std::cin>>n>>k>>*a>>a[1],n*=2;d<k%n*2;) std::cin>>a[2+d],a[d%2]=2*a[2+d%n]-a[d++%2];
std::cout<<*a<<" "<<a[1];
}
151
#import <iostream>
main() {
__int64 n,k,a[' '],d;
for(std::cin>>n>>k,n*=2;d<2+k%n*2;) std::cin>>a[d],a[d%2]=2*a[d>n+1?d-n:d]-a[d++%2];
std::cout<<*a<<" "<<a[1];
}
#import <iostream>
main() {
__int64 n,k,a[' '],d;
for(std::cin>>n>>k,n*=2;d<2+k%n*2;a[d%2]=2*a[d>n+1?d-n:d]-a[d++%2]) std::cin>>a[d];
std::cout<<*a<<" "<<a[1];
}
:)