#include <iostream> #include <vector> #include <string> using namespace std; int main() { string sInput; getline(cin, sInput, '\n'); int Time = 1; int Count = 0; vector<string> Storage; for (int i = 0; i < sInput.size(); i++) { for (int j = 0; (j + Time - 1) < sInput.size(); j++) Storage.push_back(sInput.substr(j, Time)); Time++; } bool* Visited = new bool[Storage.size() * sizeof(bool)]; for (int i = 0; i < Storage.size(); i++) { Visited[i] = true; for (int j = 0; j < Storage.size(); j++) { if (i != j && Storage[i] == Storage[j]) { Visited[i] = false; Visited[j] = true; break; } } } for (int i = 0; i < Storage.size(); i++) if (Visited[i]) Count++; cout << Count; }
# include < iostream > # include < vector > using namespace std ; int main ( ) { vector < int > Stick ; Stick . push_back ( 64 ) ; int Target ; cin > > Target ; int Last = 0 ; while ( true ) { if ( Target = = 64 ) break ; int Sum = 0 ; for ( int i = 0 ; i < Stick . size ( ) ; i + + ) Sum + = Stick [ i ] ; if ( Target = = Sum ) break ; else if ( Target < Sum ) { Stick [ Last ] / = 2 ; Sum = 0 ; for ( int i = 0 ; i < Stick . size ( ) ; i + + ) Sum + = Stick [ i ] ; if ( Target < = Sum ) continue ; else Stick . push_back ( Stick [ Last + + ] ) ; } } cout < < Stick . size ( ) ; ...
댓글
댓글 쓰기