A - Contest
水题。
根据要求分别算出两人的分数比较就行。
代码如下:
#include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; int main() { int a, b, c, d, ans1, ans2; scanf("%d%d%d%d",&a,&b,&c,&d); ans1=max(3*a/10,a-a/250*c); ans2=max(3*b/10,b-b/250*d); //printf("%d %d\n",ans1,ans2); if(ans1>ans2) puts("Misha"); else if(ans1 B - Misha and Changing Handles 每输入一个就向前查找,然后符合条件的替换。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; map q; struct node { char s1[30], s2[30]; }fei[2000]; int main() { int n, i, j, cnt=0, flag; char st1[30], st2[30]; scanf("%d",&n); for(i=0;i C - Misha and Forest 从叶子节点开始,不断删除并向上找就行。因为叶子节点的异或和就是它的另一个父节点。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; struct node { int d, x; }fei[1<<17]; struct N { int u, v; }edge[1<<17]; queue q; int main() { int n, i, j, d, x, cnt=0, u, v; scanf("%d",&n); for(i=0;i 剩下的两题有待更新。。
每输入一个就向前查找,然后符合条件的替换。
#include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; map q; struct node { char s1[30], s2[30]; }fei[2000]; int main() { int n, i, j, cnt=0, flag; char st1[30], st2[30]; scanf("%d",&n); for(i=0;i C - Misha and Forest 从叶子节点开始,不断删除并向上找就行。因为叶子节点的异或和就是它的另一个父节点。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; struct node { int d, x; }fei[1<<17]; struct N { int u, v; }edge[1<<17]; queue q; int main() { int n, i, j, d, x, cnt=0, u, v; scanf("%d",&n); for(i=0;i 剩下的两题有待更新。。
从叶子节点开始,不断删除并向上找就行。因为叶子节点的异或和就是它的另一个父节点。
#include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e-8; struct node { int d, x; }fei[1<<17]; struct N { int u, v; }edge[1<<17]; queue q; int main() { int n, i, j, d, x, cnt=0, u, v; scanf("%d",&n); for(i=0;i 剩下的两题有待更新。。