제출 #169453

#제출 시각아이디문제언어결과실행 시간메모리
169453Ruxandra985Palindromic Partitions (CEOI17_palindromic)C++14
100 / 100
52 ms11144 KiB
#include <bits/stdc++.h> #define MOD 1000000007 #define DIM 1000010 using namespace std; char s[DIM]; int main() { FILE *fin = stdin; FILE *fout = stdout; int t , n, l , r , sol , nr; long long prod , prefix , suffix; fscanf (fin,"%d\n",&t); for (;t;t--){ fgets (s+1 , 1000010 , fin); n = 0; while ('a' <= s[n+1] && s[n+1] <= 'z') n++; l = 1; r = n; prefix = suffix = 0; prod = 1; sol = 0; nr = 0; while (l < r){ prefix = ( prefix * ('z' - 'a') + (s[l] - 'a') )%MOD; suffix = ( ( s[r] - 'a' ) * prod + suffix )%MOD; prod = (prod * ('z' - 'a'))%MOD; nr++; if (prefix == suffix){ sol+=2; prefix = 0; suffix = 0; prod = 1; nr = 0; } l++; r--; } if ( l == r || nr != 0 ) sol++; fprintf (fout,"%d\n" , sol); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

palindromic.cpp: In function 'int main()':
palindromic.cpp:12:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d\n",&t);
     ~~~~~~~^~~~~~~~~~~~~~~
palindromic.cpp:14:15: warning: ignoring return value of 'char* fgets(char*, int, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
         fgets (s+1 , 1000010 , fin);
         ~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:936:0,
                 from /usr/include/c++/7/cstdio:42,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:46,
                 from palindromic.cpp:1:
In function 'char* fgets(char*, int, FILE*)',
    inlined from 'int main()' at palindromic.cpp:14:15:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:261:58: warning: call to '__fgets_chk_warn' declared with attribute warning: fgets called with bigger size than length of destination buffer
  return __fgets_chk_warn (__s, __bos (__s), __n, __stream);
                                                          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...