CodeForces 560A,B,C
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 560A,B,C
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CodeForces 560A
題意:給定一個貨幣系統,問不能組成的最小的錢數是多少。
思路:水,只要檢查有沒有出現1即可,有則輸出-1,否則1.
code:
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <sstream> #include <string> #include <vector> #include <list> #include <queue> #include <stack> #include <map> #include <set> #include <bitset>using namespace std;typedef long long ll; typedef unsigned long long ull; typedef long double ld;const int INF=0x3fffffff; const int inf=-INF; const int N=1000000+5; const int M=1e3+5; const int mod=1000000007; const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x)) #define cpy(x,a) memcpy(x,a,sizeof(a)) #define ft(i,s,n) for (int i=s;i<=n;i++) #define frt(i,s,n) for (int i=s;i>=n;i--) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define lrt rt<<1 #define rrt rt<<1|1 #define middle int m=(r+l)>>1 #define lowbit(x) (x&-x) #define pii pair<int,int> #define mk make_pair #define IN freopen("in.txt","r",stdin); #define OUT freopen("out.txt","w",stdout);int v[M],vis[N]; int main() {int n;cls(vis,0);scanf("%d",&n);ft(i,1,n) scanf("%d",&v[i]),vis[v[i]]=1;sort(v+1,v+1+n);if (v[1]==1) puts("-1");else puts("1"); }
題意:給定一個相框,問能否把兩張照片放進去。。
思路:依舊水,對于兩個照片,只有長長,短短,長短和短長這四種放法,沒swap會wa??
code:
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <sstream> #include <string> #include <vector> #include <list> #include <queue> #include <stack> #include <map> #include <set> #include <bitset>using namespace std;typedef long long ll; typedef unsigned long long ull; typedef long double ld;const int INF=0x3fffffff; const int inf=-INF; const int N=1000000; const int M=2005; const int mod=1000000007; const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x)) #define cpy(x,a) memcpy(x,a,sizeof(a)) #define ft(i,s,n) for (int i=s;i<=n;i++) #define frt(i,s,n) for (int i=s;i>=n;i--) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define lrt rt<<1 #define rrt rt<<1|1 #define middle int m=(r+l)>>1 #define lowbit(x) (x&-x) #define pii pair<int,int> #define mk make_pair #define IN freopen("in.txt","r",stdin); #define OUT freopen("out.txt","w",stdout);int a[5],b[5]; bool ok(){int s1,s2;s1=max(b[3],b[2]);s2=a[3]+a[2];if (s1>s2) swap(s1,s2);if (s1<=a[1]&&s2<=b[1]) return 1;s1=max(a[3],a[2]);s2=b[3]+b[2];if (s1>s2) swap(s1,s2);if (s1<=a[1]&&s2<=b[1]) return 1;s1=max(b[3],a[2]);s2=a[3]+b[2];if (s1>s2) swap(s1,s2);if (s1<=a[1]&&s2<=b[1]) return 1;s1=max(a[3],b[2]);s2=b[3]+a[2];if (s1>s2) swap(s1,s2);if (s1<=a[1]&&s2<=b[1]) return 1;return 0; } int main() {ft(i,1,3) {scanf("%d %d",&a[i],&b[i]);if (a[i]>b[i]) swap(a[i],b[i]);}if(ok()) puts("YES");else puts("NO"); }CodeForces?560C
題意:給定一個六邊形的各邊長度,已知相鄰兩邊夾角均為120度,求能分成多少變長為1的正三角形。
思路:分別延長v2,v4,v6得到一個大的正三角形,用兩個邊的平方表示正三角形面積(多乘了2/根號3),然后減去多補的那部分。
code:
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <sstream> #include <string> #include <vector> #include <list> #include <queue> #include <stack> #include <map> #include <set> #include <bitset>using namespace std;typedef long long ll; typedef unsigned long long ull; typedef long double ld;const int INF=0x3fffffff; const int inf=-INF; const int N=1000000+5; const int M=1e5+5; const int mod=1000000007; const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x)) #define cpy(x,a) memcpy(x,a,sizeof(a)) #define ft(i,s,n) for (int i=s;i<=n;i++) #define frt(i,s,n) for (int i=s;i>=n;i--) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define lrt rt<<1 #define rrt rt<<1|1 #define middle int m=(r+l)>>1 #define lowbit(x) (x&-x) #define pii pair<int,int> #define mk make_pair #define IN freopen("in.txt","r",stdin); #define OUT freopen("out.txt","w",stdout);int v[8];int main() {ft(i,1,6) scanf("%d",&v[i]);int s=(v[1]+v[2]+v[3])*(v[1]+v[2]+v[3])-v[1]*v[1]-v[3]*v[3]-v[5]*v[5];printf("%d\n",s); }
總結
以上是生活随笔為你收集整理的CodeForces 560A,B,C的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uva 1433——Garlands
- 下一篇: 过界剧情介绍