@baobaobear
2020-03-17T09:51:26.000000Z
字数 5332
阅读 296
practise
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
int main()
{
ll a, b;
cin >> a >> b;
cout << max(a + b, max(a * b, a - b)) << endl;
return 0;
}
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
int main()
{
string ans = "ABC";
string temp;
while (cin >> temp)
{
int a = temp[0] - 'A';
int b = temp[2] - 'A';
char c;
c = ans[a];
ans[a] = ans[b];
ans[b] = c;
}
for (int i = 0; i < 3; i++)
if (ans[i] == 'A')
{
cout << (char)(i + 'A') << endl;
break;
}
return 0;
}
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
int check(int i)
{
string temp;
while (i > 0)
{
temp += i % 10 + 'a';
i /= 10;
}
int len = temp.size();
for (int i = 0; i < len; i++)
{
if (temp[i] != temp[len - i - 1])
return 0;
}
return 1;
}
int main()
{
int n;
while (cin >> n)
{
for (int i = n, j = n;; i++, j--)
{
if (check(j))
{
cout << j << endl;
break;
}
if (check(i))
{
cout << i << endl;
break;
}
}
}
return 0;
}
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
int p[1000100];
int main()
{
int n;
cin >> n;
;
int k;
cin >> k;
for (int i = 0; i < n; i++)
cin >> p[i];
sort(p, p + n);
cout << p[k - 1] << endl;
return 0;
}
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
map<string, int> mp;
int main()
{
int n;
cin >> n;
while (n--)
{
string a;
cin >> a;
mp[a]++;
}
int maxx = 0;
for (auto it = mp.begin(); it != mp.end(); it++)
maxx = max(maxx, it->second);
// cout << maxx << endl;
for (auto it = mp.begin(); it != mp.end(); it++)
if (maxx == it->second)
cout << it->first << endl;
return 0;
}
//https://blog.csdn.net/hesorchen
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define ll long long
#define endl "\n"
#define lowbit(a) (a & (-a))
#define INF 0x3f3f3f3f
#define MAX 1010
#define mod 1000000007
#define PI 3.1415926
int main()
{
int t;
cin >> t;
while (t--)
{
string a;
cin >> a;
int len = a.size();
ll s = 0, t = 1;
for (int i = len - 1; i >= 0; i--)
{
if (a[i] == '1')
s += t;
t *= 2;
}
string ans;
// cout << s << endl;
while (s > 0)
{
if (s % 3 == 1)
ans = '1' + ans;
else if (s % 3 == 2)
ans = '2' + ans;
else
ans = '0' + ans;
s /= 3;
}
cout << ans << endl;
}
return 0;
}
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
#define ll long long
#define INF 0x3f3f3f3f
#define MEM(x,y) memset(x,y,sizeof(x))
#define int long long
#define rep(i , a , b) for(int i = a ; i <= b ; i ++)
#define P pair<int,int>
#define sc(a) scanf("%lld",&a)
#define pf(a) printf("%lld ",a)
using namespace std;
struct point
{
int x;
int y;
}point [20];
struct xia
{
int x;
int y;
}v[10];
int vis[20];
int maxx;
int n, q;
void ju()
{
int temp = 0;
for (int i = 0; i < q; i++)
for (int j = i+1; j < q; j++)
if (v[i].x * v[j].y == v[i].y * v[j].x)
temp++;
maxx = max(temp, maxx);
return;
}
void dfs(int x)
{
while (vis[x])x++;
if (x >= n) {
ju();
return;
}
vis[x] = 1;
for (int i = 0; i < n; i++)
{
if (!vis[i])
{
vis[i] = 1;
int dy = point[x].y - point[i].y;
int dx = point[x].x - point[i].x;
v[q].x = dx, v[q].y = dy;
q++;
dfs(x + 1);
q--;
vis[i] = 0;
}
}
vis[x] = 0;
return;
}
signed main()
{
sc(n);
MEM(vis, 0);
rep(i, 0, n - 1)
sc(point[i].x), sc(point[i].y);
dfs(0);
cout << maxx << endl;
}
#include<stdio.h>
const long long mod=1e9+7;
long long pre[200005];
/*快速幂板子*/
long long qmul(long long a,long long b)
{
long long res=1;
while(b)
{
if(b&1)res=res*a%mod;
a=a*a%mod;
b>>=1;
}
return res%mod;
}
/*组合数板子*/
long long C(int a,int b)
{
long long res=1,i,j;
for(i=1,j=a;i<=b;i++,j--)
{
res=res*j%mod;
res=res*qmul(i,mod-2)%mod;
}
return res;
}
int main()
{
long long n,a,b,ans;
pre[0]=1;
for(int i=1;i<=200005;i++)pre[i]=pre[i-1]*i%mod;
scanf("%lld%lld%lld",&n,&a,&b);
ans=(qmul(2,n)-1)-C(n,a)-C(n,b);
while(ans<0)ans+=mod;
printf("%lld\n",ans);
}
#include <iostream>
#include <cstring>
using namespace std;
int n, m, e[51][51], ans, u[51 << 1], v[51 << 1];
bool vis[51];
void dfs(int node) {
vis[node] = 1;
for(int i = 1; i <= n; ++i) {
if(i == node) continue;
if(!vis[i] && e[node][i]) dfs(i);
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(NULL);
cin >> n >> m;
for(int i = 1; i <= m; ++i) {
cin >> u[i] >> v[i];
e[u[i]][v[i]] = e[v[i]][u[i]] = 1;
}
for(int i = 1; i <= m; ++i) {
e[u[i]][v[i]] = e[v[i]][u[i]] = 0;
memset(vis, 0, sizeof(vis));
dfs(1);
for(int i = 1; i <= n; ++i)
if(!vis[i]) {
++ans;
break;
}
e[u[i]][v[i]] = e[v[i]][u[i]] = 1;
}
cout << ans;
return 0;
}