AtCoder Beginner Contest 075まとめ


問題は難しくないが、2つの問題しかできなかった.今日の補題では暴力だらけで・・・==
やはり料理が多すぎます.(
タイトルリンク:クリックしてリンクを開く
#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
int main(){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    if(a==b) printf("%d
",c); else if(a==c) printf("%d
",b); else printf("%d
",a); return 0; }

B
#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
const int maxn=55;
char mp[maxn][maxn];
int f[maxn][maxn];
int main(){
    int h,w;
    scanf("%d%d",&h,&w);
    memset(f,0,sizeof(f));
    for(int i=0;i=0){
                    f[i-1][j]++;
                }
                if(j-1>=0){
                    f[i][j-1]++;
                }
                if(i+1=0&&j-1>=0){
                    f[i-1][j-1]++;
                }
                if(i+1=0){
                    f[i+1][j-1]++;
                }
                if(i-1>=0&&j+1

C見たNの範囲が一番広いのは50...暴力、DFS検索、1本削除するたびにすべてのポイントにアクセスできるかどうか、
#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;


/*

    */
const int maxn=55;
int n,m;
int a[maxn],b[maxn];
bool graph[maxn][maxn];
bool vis[maxn];

void dfs(int v){
    vis[v]=true;
    for(int v2=0;v2>n>>m;
    for(int i=0;i>a[i]>>b[i];
        a[i]--,b[i]--;
        graph[a[i]][b[i]]=graph[b[i]][a[i]]=true;
    }
    int ans=0;
    for(int i=0;i


N最大50間違いなく暴力、n^5の暴力…….ただし、出力lldとI 64 dの違いに注意してください.
#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;

vector xray,yray;
int main(){
    int n,k;
    scanf("%d%d",&n,&k);
    vector x(n),y(n);
    for(int i=0;i>x[i]>>y[i];
        xray.push_back(x[i]);
        yray.push_back(y[i]);
    }
    sort(xray.begin(),xray.end());
    sort(yray.begin(),yray.end());

    ll ans=1LL*(xray[n-1]-xray[0])*(yray[n-1]-yray[0]);

    for(int x1=0;x1=lx and x[i]<=rx&&y[i]<=uy&&y[i]>=dy){
                            num++;
                        }
                    }
                    if(num>=k) ans=min(ans,1LL*(rx-lx)*(uy-dy));
                }
            }
        }
    }
    printf("%lld
",ans); // printf("%I64d
",ans); // cout<