A - Minimum’s Revenge
答案:
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define inf 0x3f3f3f3f3f3f3f3f
#define rep(i,a,b) for(auto i=a;i<=b;++i)
#define bep(i,a,b) for(auto i=a;i>=b;--i)
#define lowbit(x) x&(-x)
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(-1)
#define pb push_back
#define eps 1e-8
const int mod = 1e9 + 7;
const int MOD = 1e4+7;
const int N = 1e6 + 10;
const int M = 1111;
int dx[]={-1, 0, 1, 0};
int dy[]={0, 1, 0, -1};
int dxy[][2]={{0,1},{1,0},{1,1},{-1,1}};
using namespace std;
void solve(){
ll t;
cin>>t;
rep(j,1,t){
ll n;
cin>>n;
ll sum=0;
sum=(1+n)*n/2-1;
cout<<"Case #"<<j<<": ";
cout<<sum<<endl;
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}
C - Mr. Frog’s Problem
答案:
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define inf 0x3f3f3f3f3f3f3f3f
#define rep(i,a,b) for(auto i=a;i<=b;++i)
#define bep(i,a,b) for(auto i=a;i>=b;--i)
#define lowbit(x) x&(-x)
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(-1)
#define pb push_back
#define eps 1e-8
const int mod = 1e9 + 7;
const int MOD = 1e4+7;
const int N = 1e6 + 10;
const int M = 1111;
int dx[]={-1, 0, 1, 0};
int dy[]={0, 1, 0, -1};
int dxy[][2]={{0,1},{1,0},{1,1},{-1,1}};
using namespace std;
void solve(){
ll t;
cin>>t;
rep(j,1,t){
ll a,b;
cin>>a>>b;
cout<<"Case #"<<j<<":\n";
if(a==b){
cout<<1<<endl;
cout<<a<<" "<<b<<endl;
}
else{
cout<<2<<endl;
if(a>b) swap(a,b);
cout<<a<<" "<<b<<endl;
cout<<b<<" "<<a<<endl;
}
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}
E - Mr. Frog’s Game
答案:
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define inf 0x3f3f3f3f3f3f3f3f
#define rep(i,a,b) for(auto i=a;i<=b;++i)
#define bep(i,a,b) for(auto i=a;i>=b;--i)
#define lowbit(x) x&(-x)
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(-1)
#define pb push_back
#define eps 1e-8
const int mod = 1e9 + 7;
const int MOD = 1e4+7;
const int N = 1e6 + 10;
const int M = 1111;
int dx[]={-1, 0, 1, 0};
int dy[]={0, 1, 0, -1};
int dxy[][2]={{0,1},{1,0},{1,1},{-1,1}};
using namespace std;
int mp[35][35];
void solve(){
ll t;
cin>>t;
rep(tt,1,t){
int n,m;
cin>>n>>m;
memset(mp,-1,sizeof(mp));
rep(i,1,n){
rep(j,1,m){
cin>>mp[i][j];
}
}
bool flag=0;
for(int i=1;i<=m;i++){
for(int j=i+1;j<=m;j++){
if(mp[1][i]==mp[1][j]){
flag=1;
break;
}
}
}
for(int i=1;i<=m;i++){
for(int j=i+1;j<=m;j++){
if(mp[n][i]==mp[n][j]){
flag=1;
break;
}
}
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(mp[i][1]==mp[j][1]){
flag=1;
break;
}
}
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(mp[i][m]==mp[j][m]){
flag=1;
break;
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(mp[i][j]==mp[i+1][j]||mp[i][j]==mp[i][j+1]||mp[i][j]==mp[i-1][j]||mp[i][j]==mp[i][j-1]){
flag=1;
break;
}
}
}
cout<<"Case #"<<tt<<": ";
if(flag) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}
H - Basic Data Structure
答案:
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define inf 0x3f3f3f3f3f3f3f3f
#define rep(i,a,b) for(auto i=a;i<=b;++i)
#define bep(i,a,b) for(auto i=a;i>=b;--i)
#define lowbit(x) x&(-x)
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(-1)
#define pb push_back
#define eps 1e-8
const int mod = 1e9 + 7;
const int MOD = 1e4+7;
const int N = 4e6 + 10;
const int M = 1111;
int dx[]={-1, 0, 1, 0};
int dy[]={0, 1, 0, -1};
int dxy[][2]={{0,1},{1,0},{1,1},{-1,1}};
using namespace std;
int dp[N];
string s1="PUSH";
string s2="POP";
string s3="REVERSE";
string s4="QUERY";
void solve(){
ll t;
cin>>t;
rep(tt,1,t){
int n;
cin>>n;
cout<<"Case #"<<tt<<":"<<endl;
int l=200000;
int r=200000;
bool dir=0;
dp[l]=0;
for(int kkkk=1;kkkk<=n;kkkk++){
string s;
cin>>s;
if(s==s1){
int k;
cin>>k;
if(!k){
if(!dir) dp[++r]=0;
else dp[--l]=0;
}
else{
if(!dir) dp[r]++;
else dp[l]++;
}
}
else if(s==s2){
if(!dir){
if(!dp[r]) r--;
else dp[r]--;
}
else{
if(!dp[l]) l++;
else dp[l]--;
}
}
else if(s==s3){
dir^=1;
}
else if(s==s4){
if(l==r&&!dp[l]) cout<<"Invalid."<<endl;
else{
if(!dir){
if(r-l>1){
if(dp[l]%2) cout<<"0"<<endl;
else cout<<"1"<<endl;
}
else{
if(l==r||!dp[l+1]){
if(dp[l]%2) cout<<"1"<<endl;
else cout<<"0"<<endl;
}
else{
if(dp[l]%2) cout<<"0"<<endl;
else cout<<"1"<<endl;
}
}
}
else{
if(r-l>1){
if(dp[r]%2) cout<<"0"<<endl;
else cout<<"1"<<endl;
}
else{
if(l==r||!dp[r-1]){
if(dp[r]%2) cout<<"1"<<endl;
else cout<<"0"<<endl;
}
else{
if(dp[r]%2) cout<<"0"<<endl;
else cout<<"1"<<endl;
}
}
}
}
}
}
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}