zoukankan      html  css  js  c++  java
  • 903A. Hungry Student Problem#饥饿的学生(暴力&双层枚举)

    题目出处:http://codeforces.com/problemset/problem/903/A

    题目大意就是:一个数能否用正整数个另外两个数合成

    #include<iostream>
    using namespace std;
    //双重枚举 
    int main(){
        int n;cin>>n;
        while(n--){
            int temp;    cin>>temp;    int flag = 1;
            for(int i=0; i<100/3; i++){
                for(int j=0; j<100/7; j++){
                    if(i*3+j*7 == temp){ flag = 0; break; }//本来想使用连续break发现不行; 
                }
            }
            if(flag) cout<<"NO"<<endl;
            else cout<<"YES"<<endl;
        }
        return 0;
    }

    题目数据比较小,可以考虑直接双层循环,暴力求解。

    在做本题的时候有失误,也让自己对break的认识在熟悉了一下,本来天真的认为可双break跳到最外层结束;

    但是break第一个执行后,后面的break就会被跳开了。使用break的时候注意其作用空间。(低级错误)

    本题优化可以一层枚举中使用取余的方法解决。

    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    几种常用类的学习
    类,接口
    方法
    数组使用
    条件控制与循环
    类型转换,运算符
    Java基本类型
    SVN基本使用
    【转】MySQL的btree索引和hash索引的区别
    常用命令(java、linux)
  • 原文地址:https://www.cnblogs.com/hello-OK/p/8051990.html
Copyright © 2011-2022 走看看