1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <iostream> template<unsigned int n> struct Count { bool data[n]; }; template<int n> struct Counter : public Counter<n-1> {}; template<> struct Counter<0> {}; Count<1> GetCount(Counter<1>); #define MAX_COUNTER_NUM 64 #define COUNTER_VALUE (sizeof(GetCount(Counter<MAX_COUNTER_NUM + 1>())) / sizeof(bool)) #define INC_COUNTER Count<COUNTER_VALUE + 1> GetCount(Counter<COUNTER_VALUE + 1>); int main() { std::cout << "counter = " << COUNTER_VALUE << "\n"; INC_COUNTER std::cout << "counter = " << COUNTER_VALUE << "\n"; INC_COUNTER std::cout << "counter = " << COUNTER_VALUE << "\n"; INC_COUNTER std::cout << "counter = " << COUNTER_VALUE << "\n"; INC_COUNTER std::cout << "counter = " << COUNTER_VALUE << "\n"; INC_COUNTER std::cout << "counter = " << COUNTER_VALUE << "\n"; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgogICAgdGVtcGxhdGU8dW5zaWduZWQgaW50IG4+IHN0cnVjdCBDb3VudCB7IGJvb2wgZGF0YVtuXTsgfTsKICAgIHRlbXBsYXRlPGludCBuPiBzdHJ1Y3QgQ291bnRlciA6IHB1YmxpYyBDb3VudGVyPG4tMT4ge307CiAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBDb3VudGVyPDA+IHt9OwogICAgQ291bnQ8MT4gR2V0Q291bnQoQ291bnRlcjwxPik7CiAgICAKICAgICNkZWZpbmUgTUFYX0NPVU5URVJfTlVNIDY0CiAgICAjZGVmaW5lIENPVU5URVJfVkFMVUUgKHNpemVvZihHZXRDb3VudChDb3VudGVyPE1BWF9DT1VOVEVSX05VTSArIDE+KCkpKSAvIHNpemVvZihib29sKSkKICAgICNkZWZpbmUgSU5DX0NPVU5URVIgQ291bnQ8Q09VTlRFUl9WQUxVRSArIDE+IEdldENvdW50KENvdW50ZXI8Q09VTlRFUl9WQUxVRSArIDE+KTsKCmludCBtYWluKCkKewoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7CglJTkNfQ09VTlRFUgoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7CglJTkNfQ09VTlRFUgoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7CglJTkNfQ09VTlRFUgoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7CglJTkNfQ09VTlRFUgoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7CglJTkNfQ09VTlRFUgoJc3RkOjpjb3V0IDw8ICJjb3VudGVyID0gIiA8PCBDT1VOVEVSX1ZBTFVFIDw8ICJcbiI7Cn0K
-
upload with new input
-
result: Success time: 0.02s memory: 2724 kB returned value: 0
counter = 1 counter = 2 counter = 3 counter = 4 counter = 5 counter = 6


