本地明明可以通过的,为啥提交通过率为0.。。

#include <iostream>
#include <vector>

using namespace std;

vector<vector<int>> getLists(){
    
    
    int listNum;
    cin >> listNum;
    
    vector<vector<int>> lists;
    
    for (int i = 0; i < listNum; i++) {
    
        int listLen = 0;
        
        cin >> listLen;
        
        vector<int> list;
        
        for (int i = 0; i < listLen; i++) {
            
            int num;
            
            cin >> num;
            
            list.push_back(num);
        }
        
        lists.push_back(list);
        
        list.clear();
        
        
    }
    
    
    return lists;
    

}

int getmul4numsCount(vector<int> list){
    
    int count = 0;
    
    for (int i = 0; i < list.size(); i++) {
        
        if (list[i] == 0) {
            break;
        }
        
        if (list[i] % 4 == 0) {
            count ++;
        }
        
        
    }
    
    return count;
    

}

bool testIsTrueList(vector<int> list){
    
    int num = getmul4numsCount(list);
    
    int needNums = (int)(list.size() / 2);
    
    return num >= needNums;
    
}


int main(int argc, const char * argv[]) {
    
    vector<vector<int>> lists = getLists();
    
    for (int i = 0; i < lists.size(); i++) {
        
        if (testIsTrueList(lists[i])) {
            cout << "Yes" << endl;
        }else{
            cout << "No" << endl;
        }
        
    }
    
    
    return 0;
}

全部评论
擦,我也是直接给我0*** public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //数据个数 String[] str = new String[num]; for(int i = 0; i < num;i++){ int arrNum = sc.nextInt(); //数组元素个数 int[] arr = new int[arrNum]; //放入数组中 for(int j = 0; j < arrNum;j++){ arr[j] = sc.nextInt(); } //判断数组的奇数的个数是否大于偶数+1.  偶数的数值是否是4的倍数 //或者说。只要判断4的倍数的偶数的个数是否大于数列/2 int sum = 0; //4的倍数的偶数的个数 for(int j = 0; j < arrNum;j++){ if(arr[j] % 4 == 0){ sum++; } } if(sum >= arrNum/2){ str[i] = "Yes"; }else{ str[i] = "No"; } } for(String s : str){ System.out.println(s); } } } 2 3 1 10 100 4 1 2 3 4 Yes No
点赞 回复 分享
发布于 2017-09-09 17:09
只要能整除4的个数大于等于奇数个数就可以
点赞 回复 分享
发布于 2017-09-09 17:02
和我开始犯了一样的错误,注意可能两个都是2的倍数而不是4的
点赞 回复 分享
发布于 2017-09-09 17:01
这题不用做的这么麻烦吧。直接计数就行了。能被1,2,4整除的数分别是多少再判断就行了。不过我的做法90%,不知道哪个case没过... #include <iostream> #include <cstdio> #include <cstdlib> #include <cstdint> #include <vector> #include <stack> #include <algorithm> #include <unordered_map> #include <cmath> #include <cstring> #include <queue> #include <set> using namespace std; #define MAX 100005 #define MOD 1000000007 #define LL long long int int t, n; LL nums[MAX]; //vector<int> a1, a2, a4; int a1,a2,a4; bool check(LL a, LL b){ return ((a * b) & 3) == 0; } int main() { #ifdef DEBUG freopen("input.txt","r",stdin); #endif scanf("%d",&t); while(t --){ scanf("%d",&n); //a1.clear(); //a2.clear(); //a4.clear(); a1 = a4 = a2 =0; for (int i =0;i< n;i++){ scanf("%lld",&nums[i]); if (nums[i] %4 == 0) a4++; else if ( nums[i]%2 == 0) a2 ++; else a1 ++; } if (n == 1){ printf("No\n"); continue; } if (a1-1 > a4 || (a1 > 0 && a4 == 0)){ printf("No\n"); continue; } if (a1 == 0 || a2 == 0){ printf("Yes\n"); continue; } if (a1 > a4){ printf("No\n"); continue; } printf("Yes\n"); /* if ((a4< a1-1) || (a1 >0 && a4 == 0)){ printf("No\n"); continue; } if ((a2 >0) && a4 < a1 ) { printf("No\n"); continue; }*/ } return 0; }
点赞 回复 分享
发布于 2017-09-09 17:01
int n;     cin >> n;     vector<int> counter(5, 0), nums(n);     for (int i = 0; i < n; i++) {       cin >> nums[i];       if (nums[i] % 4 == 0)         counter[4]++;       else if (nums[i] % 2 == 0)         counter[2]++;       else         counter[1]++;     }     int d = counter[1] + (counter[2] >= 1);     if (d - counter[4] > 1)       cout << "No" << endl;     else       cout << "Yes" << endl; 贴个我的,唯一AC的题目。只要统计1的和4的个数,2只需要统计其是否出现。 2必须全部放在一起,可把全部放在一起的2看作是1个1。那么只需要考虑4的数目和1的数目之间的关系了。
点赞 回复 分享
发布于 2017-09-09 17:20
没统计2的个数
点赞 回复 分享
发布于 2017-09-09 17:14
// 确实是有规律,以下几种情况,[1,2,4]分别表示该位置的数能被[1,2,4]整除: // 1. 存在能被 2 整除的数。 [2 2 2 4 1] // 2. 不存在能被 2 整除的数。 [1 4 1] // 我用下面的代码可以 AC #include <vector> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int t, n; cin >> t; for (int j = 0; j < t; ++j) { vector<int> v; int n, tmp; cin >> n; int d1 = 0; int d2 = 0; int d4 = 0; for (int i = 0; i < n; ++i) { cin >> tmp; // v.push_back(tmp); if (tmp & 1) ++d1; else if ((tmp & 3) == 0) ++d4; else if ((tmp & 1) == 0) ++d2; } if ((d2 == 0 && d4+1 >= d1) || (d2 > 0 && d4 >= d1)) cout << "Yes" << endl; else cout << "No" << endl; } return 0; }
点赞 回复 分享
发布于 2017-09-09 17:08
只要数组里能被4整除的数大于等于奇数的个数就行了
点赞 回复 分享
发布于 2017-09-09 17:04
同Java,我过了案例,也一直10%
点赞 回复 分享
发布于 2017-09-09 17:04
本宝宝表示第一和第三两道题结果都对,但全都超时
点赞 回复 分享
发布于 2017-09-09 17:03
你测一下 1 4 2 1 4 2 能过就对了,不能过就是你代码有问题
点赞 回复 分享
发布于 2017-09-09 17:02
我也是!!!!!
点赞 回复 分享
发布于 2017-09-09 17:02
哥,你还没考虑2呢,然而我考虑了2也是0%
点赞 回复 分享
发布于 2017-09-09 17:01
我也是 超时了 
点赞 回复 分享
发布于 2017-09-09 17:01
找规律更快一点吧
点赞 回复 分享
发布于 2017-09-09 17:00
我也是本地能通过
点赞 回复 分享
发布于 2017-09-09 17:00

相关推荐

xdm&nbsp;早上喝奶茶差点喷出来。事情是这样的,我们班有个哥们儿,简称&nbsp;L,去年秋招拿了字节sp,专业方向是后端。我们当时都震惊:这哥们儿平时课上从来不发言,期末小组作业基本是划水的那种,刷题平台&nbsp;commit记录我点进去看过,绿格子稀稀拉拉。但他面试一路绿灯。一面二面三面&nbsp;hr&nbsp;面,全过,给的还是sp。当时班级群里恭喜他的、问他经验的、约饭的,热闹了一周。他说自己"运气好,准备充分"。我们都信了,直到三月初他入职。入职第二周开始,班里另一个进字节的同学W(在隔壁组的)开始跟我他的不对劲。一开始是写代码慢,后来写不出来,再后来是组里&nbsp;mentor&nbsp;让他fix&nbsp;一个简单&nbsp;bug&nbsp;都搞了一下午没动静。最离谱的是上周。W&nbsp;说他们大部门搞了个新人分享会,让新人讲一下自己负责模块的设计思路。L&nbsp;上去讲了&nbsp;20分钟,全程念稿子,问答环节别人随便问一个"那你这里为什么用&nbsp;Redis&nbsp;不用&nbsp;Memcached",他直接卡&nbsp;30秒说"这个我回去再确认一下"。会后他&nbsp;mentor&nbsp;直接找&nbsp;leader&nbsp;谈,leader&nbsp;找&nbsp;hr&nbsp;谈,hr调出了他面试录像,全程对比口型和回答节奏,发现他二三面有大量时长在偷偷看屏幕外(推测开了双机位&nbsp;AI&nbsp;答题)。(这段是&nbsp;W后来转述给我的,他自己也是听他组里同事八卦来的)昨天下班前,W&nbsp;告诉我L&nbsp;被辞退了,让他自己走,不走就走仲裁但会发函到学校。L&nbsp;现在已经回学校了,朋友圈仅三天可见。我说真的,我不是个心眼小的人,但是我看到这个消息的时候真的有种"嗯,挺好"的感觉。去年秋招我投字节后端,简历挂。我准备了八个月,背&nbsp;八股&nbsp;+&nbsp;刷&nbsp;500&nbsp;题&nbsp;+项目改了三版,连面试机会都没拿到。班里这哥们儿凭着一个外挂上岸,最后还是被甩出来了。不是说作弊就一定会被发现,但是当面试拿到的&nbsp;offer远远超出真实能力的时候,迟早会有这一天。试用期三个月不是给你过家家的,是真的要写代码、要在会议上回答问题、要扛需求的。我现在反而有点同情他。同情他相信"上岸就是终点"。发出来不是为了嘲笑谁,就是想说给那些正在被身边作弊上岸的同学搞得很&nbsp;emo&nbsp;的&nbsp;uu&nbsp;们听——别急,回旋镖很长,但它一定会回来。你继续刷你的题,写你的项目,背你的八股。该是你的迟早是你的,不是你的早晚还得还回去。xdm&nbsp;共勉。
牛客12588360...:我不想评论面试方式,作弊是绝对不对的,但是你八股加刷题也不过是个做题小子,他穿帮纯粹是他菜,你也没有高明到哪里去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务