今天字节的第三题有谁ac吗,能讲下思路

不就是每对掉一条边【a,b】,就从a开始深度遍历,最后看visited[b]是否为0,如果为0,那么说明这个图已经不连通了。还是我的思路不对啊
全部评论
我写的数组越界。。。
点赞
送花
回复
分享
发布于 2018-10-21 13:48
我直接记录每个点的度, 删除边后对应对点的度-1,过了80%,现在想一想可能是没考虑自环吧
点赞
送花
回复
分享
发布于 2018-10-21 14:13
网易互娱
校招火热招聘中
官网直投
请问一下A题有什么坑吗?我只能过20% 不知道什么原因
点赞
送花
回复
分享
发布于 2018-10-21 14:14
//我的A题代码 只能过20% #include "bits/stdc++.h" using namespace std; char s[1005]; string ans[10005]; string fun(char *ss) {     int len = strlen(ss);     string now = "";     int k;     for (int i=0; i<len; ++i) {         if (ss[i] >= 'a' && ss[i] <= 'z') {             k = i;             while (ss[k] >= 'a' && ss[k] <= 'z' && k<len) {                 now += ss[k++];             }             i = k-1;             if (i != len-1) now += '_';         }         else {             if (ss[i+1] >='A' && ss[i+1] <= 'Z') {                 k = i;                 while(ss[k] >= 'A' && ss[k] <='Z' && k<len) {                     now += ss[k++] + 32;                 }                 //now.erase(now.end() - 1);                 i = k-1;                 if(i != len-1) now += '_';             }             else {                 k = i;                 now += ss[k++] + 32;                 while(ss[k] >= 'a' && ss[k] <= 'z' && k<len) {                     now += ss[k++];                 }                 i = k-1;                 if(i != len-1) now += '_';             }         }     }     return now; } int main() { //printf("%d %d %d\n", 'A', 'a', 'A'-'a');     int n;     scanf("%d", &n);     for (int i=0; i<n; ++i) {         scanf("%s", s);         ans[i] = fun(s);         //cout<<ans[i]<<endl;     }     for(int i=0; i<n; ++i) {         cout<<ans[i]<<endl;     }     return 0; }
点赞
送花
回复
分享
发布于 2018-10-21 14:15

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务