Codeforces Round #465
A. Fafa and his Company
方法:暴力枚举leader的个数即可
code:
1 /* 2 by skydog 3 */ 4 #include <iostream> 5 #include <cstdio> 6 #include <vector> 7 #include <utility> 8 #include <algorithm> 9 #include <cmath> 10 #include <cstring> 11 #include <map> 12 #include <set> 13 #include <stack> 14 #include <queue> 15 #include <deque> 16 #include <cassert> 17 #include <list> 18 using namespace std; 19 typedef long long ll; 20 typedef pair<int, int> ii; 21 typedef pair<ll, ll> l4; 22 23 #define mp make_pair 24 #define pb push_back 25 #define db(x) cerr << #x << " = " << x << endl 26 27 28 int main() 29 { 30 int n; 31 scanf("%d", &n); 32 int ans = 0; 33 for (int i = 1; i < n; ++i) 34 if ((n-i)%i == 0) 35 ++ans; 36 printf("%d ", ans); 37 }
B. Fafa and the gates
方法:暴力模拟
code:
1 /* 2 by skydog 3 */ 4 #include <iostream> 5 #include <cstdio> 6 #include <vector> 7 #include <utility> 8 #include <algorithm> 9 #include <cmath> 10 #include <cstring> 11 #include <map> 12 #include <set> 13 #include <stack> 14 #include <queue> 15 #include <deque> 16 #include <cassert> 17 #include <list> 18 using namespace std; 19 typedef long long ll; 20 typedef pair<int, int> ii; 21 typedef pair<ll, ll> l4; 22 23 #define mp make_pair 24 #define pb push_back 25 #define db(x) cerr << #x << " = " << x << endl 26 27 28 int n; 29 const int maxn = 1e5+1; 30 char s[maxn]; 31 int get(int x, int y) 32 { 33 if (x == y) 34 return 0; 35 if (x > y) 36 return 1; 37 else 38 return -1; 39 } 40 41 int main() 42 { 43 scanf("%d %s", &n, s); 44 int cur = 0, ans = 0; 45 int x = 0, y = 0; 46 for (int i = 0; i < n; ++i) 47 { 48 if (s[i] == 'U') 49 ++y; 50 else 51 ++x; 52 int tmp = get(x, y); 53 if (tmp) 54 { 55 if (tmp == -cur) 56 { 57 ++ans; 58 } 59 cur = tmp; 60 } 61 } 62 printf("%d ", ans); 63 }