2015-04-05 20:03:53
总结: 周六晚上的两连击... bc + cf 累= =、
a、b两题仔细看懂题意都不难,c题是个部分贪心问题,出现过不止一次了吧。。
赛后补了d和e,都不是非常难的那种。
A:严格地选5个等距的'*',cha点在于有些人没选够5个点(... 无语了)
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cmath> 5 #include <vector> 6 #include <map> 7 #include <set> 8 #include <stack> 9 #include <queue> 10 #include <string> 11 #include <iostream> 12 #include <algorithm> 13 using namespace std; 14 15 #define MEM(a,b) memset(a,b,sizeof(a)) 16 #define REP(i,n) for(int i=0;i<(n);++i) 17 #define FOR(i,a,b) for(int i=(a);i<=(b);++i) 18 #define getmid(l,r) ((l) + ((r) - (l)) / 2) 19 #define MP(a,b) make_pair(a,b) 20 21 typedef long long ll; 22 typedef pair<int,int> pii; 23 const int INF = (1 << 30) - 1; 24 25 int n; 26 char s[1000]; 27 28 int main(){ 29 scanf("%d",&n); 30 scanf("%s",s + 1); 31 int top = n / 4; 32 bool flag = false; 33 for(int l = 1; l <= top; ++l){ 34 for(int st = 1; st <= n; ++st){ 35 if(st + 4 * l > n) break; 36 if(s[st] == '*' && s[st + l] == '*' && s[st + 2 * l] == '*' 37 && s[st + 3 * l] == '*' && s[st + 4 * l] == '*'){ 38 flag = true; 39 break; 40 } 41 } 42 } 43 if(flag) printf("yes\n"); 44 else printf("no\n"); 45 return 0; 46 }