zoukankan      html  css  js  c++  java
  • 题解【洛谷P5315】头像上传

    本题就是按照题目模拟, 只是要注意一些细节问题。

    Wrong Answer的主要有以下2个问题:

    • 注意这句话:

    在图片上传前,系统会对图片进行如下处理:如果图片的任何一边长度超过了 G ,那么系统会不断地对图片的长宽同时减半(向下取整),直至两边长度 ≤G 为止。

    是长宽同时减半,而不是只减半一条边!

    • 注意输出的每个单词的首字母都要大写!

    注意了以上2点后,只要不出什么意外,就都能AC了!

    附上AC代码:

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    #include <cstdlib>
    #include <algorithm>
    #include <cstring>//头文件准备
    
    using namespace std;//使用标准名字空间
    
    inline int gi()//快速读入
    {
    	int f = 1, x = 0;
    	char c = getchar();
    	
    	while (c < '0' || c > '9')
    	{
    		if (c == '-')
    			f = -1;
    		c = getchar();
    	}
    	
    	while (c >= '0' && c <= '9')
    	{
    		x = x * 10 + c - '0';
    		c = getchar();
    	}
    	
    	return f * x;
    }
    
    int n, l, g, w, h;//n, l, g的含义见题意,w, h分别为图片的长和宽
    
    int main()
    {
    	n = gi(), l = gi(), g = gi();//输入
    	
    	while (n--)//处理n组数据
    	{
    		w = gi(), h = gi();//输入图片的长和宽
    		
    		while (w > g)//当长不符合要求时
    		{
    			w = w >> 1, h = h >> 1;//长宽同时除以2
    		}
    		
    		while (h > g)//当宽不符合要求时
    		{
    			w = w >> 1, h = h >> 1;//长宽同时除以2
    		}
    		
    		if (w < l || h < l) puts("Too Young");//如果有任何一边长度<l,就输出“Too Young”
    		else if (w == h) puts("Sometimes Naive");//如果是正方形,就输出“Sometimes Naive”
    		else puts("Too Simple");//否则就输出“Too Simple”
    	}
    	
    	return 0;//完美结束
    }
    
  • 相关阅读:
    sublime3 常用快捷键
    sublime3 常用插件
    前端整理——css部分
    JS数组与对象的遍历方法大全
    Javascript 异步加载详解
    五大主流浏览器内核的源起以及国内各大浏览器内核总结
    JavaScript的分支结构(switch,if..else)
    js---作用域,作用域链,立即执行函数,闭包
    js预编译
    利用js实现轮播图
  • 原文地址:https://www.cnblogs.com/xsl19/p/10743061.html
Copyright © 2011-2022 走看看