http://codeforces.com/problemset/problem/268/A http://codeforces.com/problemset/problem/268/B http://codeforces.com/problemset/problem/268/C // cf #164 div2 A #include<stdio.h> int a[30],b[30]; int main(){ //freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); int n,i,j,num=0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d%d",&a[i],&b[i]); for(i=0;i<n;i++) for(j=0;j<n;j++) if(a[i]==b[j]) num++; printf("%d\n",num); return 0; } // cf #164 div2 B // 找规律,S=n+ (n-1)+1*(n-2)+ (n-2)+2*(n-3)+ ...+ 3+(n-3)*2+ 2+(n-2)*1+1. #include<stdio.h> int main(){ int i,s,j,n; // freopen("input.txt","r",stdin); while(scanf("%d",&n)!=EOF&&n>0){ if(n==1){ printf("1\n"); break; } if(n==2){ printf("3\n"); break; } j=1; s=0; for(i=n-2;i>0;i--){ s+=i*j; j++; } printf("%d\n",s+n*(n+1)/2); } return 0; } // cf #164 div2 c // 找出所有满足条件的点,x+y=min(n,m); 这条直线上的点恰好满足条件,这个算是水过的吧。
#include<stdio.h> #include<algorithm> #include<iostream> using namespace std; int n, m; int main() { while (cin >> n >> m) { int ans = min(n, m) + 1; cout << ans << endl; for (int i = 0; i < ans; i++) { cout << i << " " << ans - i - 1 << endl; } } return 0; }