烟火易冷oei4s 题目问答 · 2025/9/3
求解代码问题,通过了三个案例
```c [[ int uniquely(MGraph G) { int v=G.numberVertices; if (v==0) return 1; int i=0,j=0,k=0,flag=-1; for(k=0;k<v;v++){ flag=-1; for(i=0;i<v;i++){ for(j=0;j<v;j++){ if(G.edge[j][i]) break; } if(j==v){ if (flag!=-1) return 0; flag=i; } } if(flag==-1) return 0; for(int i=0;i<v;i++){ G.edge[flag][i]=0; } } return 1; } ```
查看全文
1 0 0 13
ea123 题目问答 · 2024/4/23
数据真的没问题吗
感觉不知道哪里写错了,一组数据都没过
9 0 0 58
潇潇雨未歇 题目问答 · 2024/12/6
问题出在哪了捏
```cpp #include<bits/stdc++.h> using namespace std; int m1[]={0,1,3,5,7,8,10,12};//数组m1存储大月 int m2[]={0,4,6,9,11};//数组m2存储小月 map<int,int> bh={{0,13},{1,1},{2,2},{3,3},{4,5},{5,4},{6,4},{7,2},{8,2},{9,2}}; int sum(int year,int month,int day){ int y1=year%10,y2=year%100,y3=year%1000,y4=year/1000; int m1=month%10,m2=month/10; int d1=day%10,d2=day/10; int n=0; n=bh[y1]+bh[y2]+bh[y3]+bh[y4]+bh[m1]+bh[m2]+bh[d1]+bh[d2]; return n; } int main(){ int num=0; int year=2000,month=1,day=1; int year2=2024,month2=4,day2=13; while(1){ if(sum(year,month,day)>50) num++; day++; for(int j=1;j<=7;j++){ if(month==m1[j]&&day==32){ month++; day=1; break; } } for(int j=1;j<=4;j++){ if(month==m2[j]&&day==31){ month++; day=1; break; } } if(month==2){ if((year%4==0&&year%100!=0)||year%400==0){ if(day==30){ month++; day=1; } }else{ if(day==29){ month++; day=1; } } } if(month==13){ month=1; year++; } if(year==year2&&month==month2&&day==day2) break; } cout<<num<<endl; return 0; } ```
查看全文
2 0 0 21
SkySummer 题目问答 · 2024/4/15
数据是不是弱了
试一下这组 hack ```text 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ```
查看全文
4 0 0 82
Andyqian7 题目问答 · 2024/4/16
Hack
AC代码对样例 3 0 1 1 1 输出结果为 1 1 应为 1 -1 1
4 0 0 44
nameless 题目问答 · 2025/3/18
数据不够全面,望加强
如题
1 0 0 21
重生之苦钻算法 题目问答 · 2025/3/14
为什么我这个代码在蓝桥那能通过,在这通过不了
```cpp #include <bits/stdc++.h> using namespace std; using ll = long long; int n, m; ll a[300010], diff[300010], sum[300010], lt[300010], rt[300010]; int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); cin >> n >> m; ll count = 0; for (int i = 1; i <= m; ++i) { cin >> lt[i] >> rt[i]; diff[lt[i]] += 1; diff[rt[i]+1] -= 1; } for (int i = 1; i <= n; ++i) { a[i] = a[i-1] + diff[i]; sum[i] = a[i] == 1 ? sum[i-1] + 1 : sum[i-1]; if (a[i] == 0) count++; } for (int i = 1; i <= m; ++i) { cout << count + sum[rt[i]] - sum[lt[i]-1] << '\n'; } return 0; } ```
查看全文
1 0 0 21
mirror 题目问答 · 2024/4/16
为什么有一个样例没过呀
```cpp //13.5分 #include<bits/stdc++.h> using namespace std; const int N = 13; int g[N][N]; //输入数据 int d[N][N]; //-1为未经过,1为已经过 int p[N*N]; //存储答案 int cnt; // 表示当前答案数量 int n, k; bool flag= true;//输出答案后,用于结束递归结束程序 void dfs(int u, int x,int y) { if(u==n*n-1&&x==n&&y==n) { for(int i = 1;i<=n*n-1;i++) cout<<p[i]; flag = false; return; } int dx[8] = {-1,-1,0,1,1,1,0,-1}; int dy[8] = {0,1,1,1,0,-1,-1,-1}; for(int i = 0;i<8;i++) { int x1 = x+dx[i]; int y1 = y+dy[i]; if(x1>=1&&x1<=n&&y1>=1&&y1<=n&&d[x1][y1]==-1) { if(g[x1][y1]==g[x][y]+1||(g[x1][y1]==0&&g[x][y]==k-1)) { //表示不交叉 if(i==1&&d[x][y+1]!=-1&&d[x-1][y]!=-1) continue; if(i==3&&d[x][y+1]!=-1&&d[x+1][y]!=-1) continue; if(i==5&&d[x+1][y]!=-1&&d[x][y-1]!=-1) continue; if(i==7&&d[x-1][y]!=-1&&d[x][y-1]!=-1) continue; d[x1][y1]=1; p[++cnt] = i; dfs(u+1,x1,y1); d[x1][y1]=-1; cnt--; if(!flag) return; } } } } int main() { cin >> n>>k; for(int i = 1;i<=n;i++) for(int j = 1;j<=n;j++) cin >> g[i][j]; memset(d, -1,sizeof d); d[1][1] = 1; dfs(0,1,1); if(flag) cout << "-1"; return 0; } ```
查看全文
3 0 0 67
bocchi 题目问答 · 2024/7/23
测试案例有问题
我用最普通的并查集写,一开始没考虑相邻数才能传送,但是通过了,我感觉要加一条测试案例 5 2 1 3 5 4 代码如下 ```c++ #include<bits/stdc++.h> using namespace std; class UnionFind{ public: int n; vector<int>fa; vector<int>sz; public: UnionFind(int _n) :n(_n),fa(_n), sz(_n,1) { for (int i = 0; i < n; i++) fa[i] = i; } int f(int i) { if (fa[i] != i)fa[i]= f(fa[i]); return fa[i]; } void Union(int a, int b) { int x = f(a), y = f(b); if (x != y) { if (sz[x] > sz[y]) { fa[y] = x; sz[x] += sz[y]; sz[y] = 0; } else { fa[x] = y; sz[y] += sz[x]; sz[x] = 0; } } } void res() { sort(sz.begin(), sz.end(), [](int& a, int& b) {return a > b; }); cout << sz[0] + sz[1] << endl; } }; int main() { int n; cin >> n; vector<int>nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; nums[i]--; } UnionFind un(n); for (int i = 0; i < n; i++) { un.Union(i, nums[i]); } un.res(); return 0; } ```
查看全文
2 0 0 38
dnyh 题目问答 · 2024/4/14
为啥我这样写也能过我感觉自己写错了但是能过数据是不是水了
```cpp #include <bits/stdc++.h> using namespace std; #define int long long #define endl '\n' typedef pair<int,int>pii; #define N 10100 int s[N],a[N]; signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin>>n; vector<pii>v; for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i]; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ v.push_back({s[j]-s[i-1],i}); } } sort(v.begin(),v.end()); int ans=1e18; for(int i=0;i<v.size()-1;i++){ if(v[i].second!=v[i+1].second) ans=min(ans,v[i+1].first-v[i].first); } cout<<ans<<endl; return 0 ; } ```
查看全文
2 0 0 130